现象:
运行一个image,例如ubuntu14.04:
1
|
docker run -it -- rm ubuntu:14.04 bash |
退出时:
执行Ctrl+D或者执行exit
查看线程:
1
|
docker ps |
发现为空,说明没有正在运行的容器。
解决方法:
运行一个image:
1
|
docker run -dit ubuntu:14.04 |
查看线程:
发现有一个线程,打开它:
1
|
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脚本的最后加上一个“永远完成不了”的命令:
1
|
# tail -f /dev/null |
这样当执行到这条命令的时候,shell便不会退出,container也不会退出。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://www.cnblogs.com/muchengnanfeng/p/9565136.html