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 退出container后保持继续运行的操作_第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脚本的最后加上一个“永远完成不了”的命令:

# tail -f /dev/null

这样当执行到这条命令的时候,shell便不会退出,container也不会退出。

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

你可能感兴趣的:(Docker 退出container后保持继续运行的操作)