如何附加到 docker-compose 容器?

13 docker

当我按如下方式启动容器时:

docker run --name test -itd busybox
Run Code Online (Sandbox Code Playgroud)

我可以通过以下方式附加到它:

docker attach test
Run Code Online (Sandbox Code Playgroud)

我现在可以执行命令,例如ls,并查看结果。伟大的!

现在,我想通过 a 启动我的容器docker-compose.yml。我尝试过:

version: "3.7"
services:
  busybox:
    image: busybox
    tty: true
Run Code Online (Sandbox Code Playgroud)

这样,当我再次使用 附加到容器时docker attach <container id>,我似乎能够“连接”到它,但在执行命令时我看不到任何输出(例如ls)。

这是为什么?我怎样才能解决这个问题?

Bur*_*dar 9

您必须复制 -i 和 -t 标志。和tty你一起做了-t。对于该-i标志,将 stdin_open 添加到 docker-compose.yaml 中。

stdin_open: true
tty: true
Run Code Online (Sandbox Code Playgroud)