我正在尝试连接到一个分离的容器,但它似乎冻结了,我必须ctrl-c才能返回shell。
我用这个
开始我的容器sudo docker run -d -t mysql /bin/bash
当我尝试用
附加它时sudo docker attach <id>
它只会保留我的shell会话。
但是,如果我用交互式
启动我的容器sudo docker run -i -t mysql /bin/bash
和ctrl-p / q退出然后使用上面的命令附加它完全正常。
我做错了吗?
由于
答案 0 :(得分:3)
使用-d
您的容器在后台运行分离。如果你想与它进行交互,请在这个容器内用docker exec
连接,或者你已经注意到,运行不是分离但是使用-i -t
如果我以交互模式和ctrl-p / q启动它,是否会将其置于分离模式?
不,检查文档docs.docker.com/articles/basics/#running-an-interactive-shel l,解压缩&#34; o在不退出shell的情况下分离tty,#使用转义序列Ctrl- p + Ctrl-q&#34;, - t -i表示运行交互式容器,带有TTY并捕获STDIN