Docker容器一起动就退出的解决方案

本文探讨了Docker容器启动后自动退出的原因,包括缺乏前台进程、非挂起命令执行及Docker机制问题。提供了两种解决方案,一是创建死循环进程保持容器运行,二是使用-it参数交互运行容器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现象:docker容器一启动就自动退出

退出原因

1、docker容器运行必须有一个前台进程, 如果没有前台进程执行,容器认为空闲,就会自行退出
2、容器运行的命令如果不是那些一直挂起的命令( 运行top,tail、循环等),就是会自动退出
3、这个是 docker 的机制问题

解决方案

方案1:
网上有很多介绍,就是起一个死循环进程,让他不停的循环下去,前台永远有进程执行,那么容器就不会退出了,以centos为例
shell>docker run -d centos /bin/sh -c "while true; do echo hello world; sleep 1; done"
缺点: 命令太冗长了,还占用一个终端

方案2:
shell>docker run -dit docker.elastic.co/elasticsearch/elasticsearch:5.6.16 /bin/bash
添加-it 参数交互运行
添加-d 参数后台运行
这样就能启动一个一直停留在后台运行的docker.elastic.co/elasticsearch/elasticsearch:5.6.16了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值