在Docker 1.1.2(最新)中,从容器分离而不停止容器的正确方法是什么?
因此,例如,如果我尝试:
docker run -i -t foo /bin/bash
docker attach foo
两者都将我带到集装箱中的码头,如何在不停止的情况下退出集装箱的码头?
exit并且CTR+C都停止了容器。
exit
CTR+C
更新: 如以下答案中所述,Ctrl+ p,Ctrl+ q现在可以将交互方式转换为守护程序方式。
Ctrl
p
q
那么Ctrl+ C(或Ctrl+ \)应分开你从容器中,但 它会杀死容器 ,因为你的主要过程是一个bash。
C
\
关于Docker的一些课程。该容器不是真正的功能齐全的操作系统。运行容器时,启动的过程将使用PID 1并假定具有初始化电源。因此,当该进程终止时,守护进程将停止容器,直到启动一个新进程(通过docker start)(对此问题的更多说明http://phusion.github.io/baseimage- docker/#intro)
如果您想要一个始终以分离模式运行的容器,我建议您使用
docker run -d foo
在容器上装有ssh服务器。(最简单的方法是遵循dockerizing openssh教程https://docs.docker.com/engine/examples/running_ssh_service/)
或者,您可以通过以下方式重新启动容器
docker start foo
(默认情况下它将被分离)