如果用了一段时间的docker就会发现,我们的容器经常用了一段时间就自动退出了,docker ps已经找不到了,在docker ps -a里面了,然后我们docker start containerId

想重新开启这个容器,可能这次来的更快,没几分钟又只能在docker ps -a中找到了,容器又自己关了。由这个问题又可能引发其它很多的问题。

问题思路:docker run指定的命令如果不是那些一直挂起的命令(比如运行top,不断echo),就是会自动退出的。-d命令是设置detach为true,根据官方的文档,意思是让这个命令在后台运行,但并不是一直运行,Docker容器后台运行,就必须有一个前台进程。主线程结束,容器会退出。

我们启动容器的时候不要-d命令启动,用-dit就好了

例如:

docker run -d hello-world(不要这么做)

docker run -dit hello-world(推荐)        

posted on 2017-06-12 18:15  请叫我小路飞  阅读(16289)  评论(1编辑  收藏  举报