1. 首页
  2. 技术知识

Docker 退出container后保持继续运行的操作

现象:

运行一个image,例如ubuntu14.04:

docker run -it –rm ubuntu:14.04 bash


退出时:

执行Ctrl+D或者执行exit

查看线程:

docker ps发现为空,说明没有正在运行的容器。


解决方法:

运行一个image:

docker run -dit ubuntu:14.04

查看线程:

发现有一个线程,打开它:

docker attach 【CONTAINER ID或NAMES】

退出时如果想继续运行:按顺序按【ctrl+p】,【ctrl+q】

如果不想继续运行:按【ctrl+d】或输入exit

另:关闭后重启请输入:docker restart 【CONTAINER ID或NAMES】


补充:Docker – 避免启动container后运行shell脚本执行完成后docker退出container

最近在使用 Dockerfile 启动容器,发现使用Dockerfile调用容器里面的shell,当shell执行完成以后,docker会退出容器。


分析

Docker 在执行shell的时候,是在后台执行的;因此,在shell执行完成以后,docker检测到没有前台任务需要执行,便退出container.


解决方法

在shell脚本的最后加上一个“永远完成不了”的命令:

# tail -f /dev/null这样当执行到这条命令的时候,shell便不会退出,container也不会退出。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持共生网络。如有错误或未考虑完全的地方,望不吝赐教。

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/106438.html

联系我们