docker启动容器之后立马自动关闭

问题现象:


centos 启动一个容器添加了-d 参数,但是docker ps 或者docker ps -a查看却已经退出了
shell>docker run -d centos
a44b2b88559b68a2221c9574490a0e708bff49d88ca21f9e59d3eb245c7c0547
shell>docker ps 

退出原因


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

解决方案
 

在dockerfile 的cmd或者enterpoint的最后加上

&& /bin/bash

然后运行镜像时(run)加上参数-itd,原理很简单,就是后台分配一个tty给bash,这个方法比那些写死循环的优雅很多;

发布了130 篇原创文章 · 获赞 105 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/THMAIL/article/details/104077620
今日推荐