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

时间:2022-01-23 12:13:57

现象:

运行一个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

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

查看线程:

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

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

?
1
docker attach 【CONTAINER ID或NAMES】

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

退出时如果想继续运行:按顺序按【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