我在 Windows 10 Pro 上运行 Docker Desktop 4.2.0。
直到最近,运行 docker-compose up 后,要从容器中分离,我可以使用键盘快捷键CTRL + z
。这不再起作用了。如何修复?
我知道我可以运行 docker-compose up -d 和 docker-compose logs -f,但更愿意使用原始方法。我在 stackoverflow 上找到的其他答案建议使用CTRL + p, CTRL + q
或,CTRL + \
但都不起作用。
答案1
我不确定是否有一个键序列可以断开连接docker-compose
(或docker compose
)。该<ctrl>-p <ctrl>-q
序列用于断开与 stdin 连接的容器的连接(可能还需要 tty 连接)。由于 compose 会启动多个容器,然后在您不使用该-d
选项时显示这些容器的日志,因此您实际上并未连接到“容器”。
该<ctrl>-z
序列是一个 shell 命令,例如在 bash 中,它暂停作业并将其发送到后台。您可以使用命令查看后台作业jobs
,然后使用让它们在后台运行bg
或使用返回前台fg
。这并不特定于 docker 或 docker-compose。
我的典型建议是,如果您不想保持连接,则使用选项docker-compose up -d
,并使用查看日志docker-compose logs
。这是因为在前台,docker-compose
试图像一个前台守护进程一样运行,在停止时退出它正在做的事情,其中包括它创建的所有容器。
答案2
今天实际上又玩了一遍,找到了实现我想要的方法:
start /B docker-compose up
这是与 Linux 相同的 Windows 命令行
docker-compose up &