在 Docker 中退出容器有以下几种方式,根据需求选择合适的方法:
如果容器是通过 docker attach
或 docker exec -it
进入的交互式终端:
exit
或按快捷键:
Ctrl + D
效果:退出后,容器会停止运行(如果容器是 docker attach
连接的)。
如果希望退出后容器继续运行(适用于 docker exec -it
进入的容器):
Ctrl + P + Q
效果:退出终端,但容器保持运行状态。
如果需要强制停止容器:
docker kill <容器ID或名称>
或优雅停止:
docker stop <容器ID或名称>
如果容器仍在运行(未停止),可以重新进入:
docker exec -it <容器ID或名称> /bin/bash
方式 | 容器状态变化 | 适用场景 |
---|---|---|
exit 或 Ctrl+D |
容器停止 | 结束任务并销毁容器 |
Ctrl+P+Q |
容器继续运行 | 临时退出但保持后台运行 |
docker stop/kill |
强制停止容器 | 容器无响应或需强制终止 |
为什么 exit
后容器停止了?
如果容器的主进程(如 /bin/bash
)被终止(比如通过 exit
),Docker 会默认停止容器。
解决方案:启动容器时添加 -d
参数(后台运行),或使用 Ctrl+P+Q
退出。
如何让容器始终运行?
启动时指定持续运行的命令,例如:
docker run -d --name my_container ubuntu tail -f /dev/null
根据你的需求选择合适的方式即可!