如何从docker集装箱分离
这个问题是非常相似的,但我仍然有问题:
我运行一个容器:
docker run -d CONTAINER
然后我附上它
docker attach NAME
但是我不能用CTRL-C和CTRL-P + CTRL-Q来退出它(就像上面类似的问题中提到的那样)
我必须kill -9 PID
才能退出…
我究竟做错了什么?
信息:
Docker版本0.6.7,build cb48ecc
Ubuntu 3.8.0-33-generic#48〜precise1-Ubuntu
您应该使用--sig-proxy=false
选项attach
到容器,如下所示:
docker attach --sig-proxy=false NAME
然后,您可以使用CTRL
+ C
退出而不停止容器本身。
正如杰罗姆·皮塔佐尼(JérômePetazzoni)在docker用户组织中提到的那样 :
其实,你可以SIGKILL客户端,然后重新连接。 然而,这将破坏标准input(容器将在标准input上看到EOF,如果它关心标准input,例如,如果它是一个shell,它将退出)。 回顾一下: docker运行-t -i→可以与^ P ^ Q分离并重新附加docker附加 docker运行-i→不能用^ P ^ Q分离; 会破坏stdin docker运行→不能与^ P ^ Q分离; 可以SIGKILL客户端; 可以重新附加docker附加
附:
docker attach <container name>
允许我使用Docker 17.04版中的Ctrl + d进行分离
我知道这是旧的,但由于上面所示的方法都没有为我工作,我想我会分享。