【发布时间】:2018-02-23 19:10:02
【问题描述】:
由于某种原因,在运行docker attach <container> 后,我无法从 Docker 容器中分离。文档说要使用Ctrl-p, Ctrl-q,但这似乎不起作用。我也试过ctrl-q + ctrl-p(组合,而不是顺序)和ctrl-shift-q, ctrl-shift-p和ctrl-shift-q + ctrl-shift-p。即使设置了分离键,例如 --detach-keys="p" 也不会从容器中分离。
此外,其他事情似乎不起作用。例如,根据文档,ctrl-c 应该导致附加的容器停止并分离。但是,我无法让ctrl-c 在我的任何容器上工作。然而,与ctrl-q 不同的是,ctrl-c 按预期呈现反馈,在终端中显示^C。
我注意到,由于某种原因,当我按 ctrl-p 时,我会在终端中看到 ^P,但按 ctrl-q 或 ctrl-shift-q 不会呈现终端反馈。
谁能大胆猜测一下为什么会发生这种情况?
如果重要的话,我在 MacOS 上使用 iTerm2。此外,有问题的容器是通过docker-compose 启动的。
编辑:为清楚起见,我在以下compose 文件中使用docker-compose up 启动了我的容器:
version: '3'
services:
test:
build:
context: .
dockerfile: Dockerfile
container_name: container-test
ports:
- "5050:5050"
然后我使用:
$ docker attach container-test
编辑 2:经过一些测试,我可以确认这个问题在 MacOS 终端中仍然存在。
【问题讨论】:
-
您是如何启动容器的,请包含完整的 docker 命令。
-
根据@BMitch 的要求添加
-
我不确定
docker-compose是否会为容器配置交互式输入,而tty是您需要启用的单独选项。我相信您需要这两者才能使分离键组合起作用,但我需要进行更多测试。
标签: macos docker docker-compose docker-for-mac