使用 Docker Compose 的交互式 shell

新手上路,请多包涵

有没有办法仅使用 Docker Compose 在容器中启动交互式 shell?我在 docker-compose.yml 中尝试过类似的方法:

 myapp:
  image: alpine:latest
  entrypoint: /bin/sh

当我使用 docker-compose up 启动这个容器时,它会立即退出。是否有任何标志可以添加到 entrypoint 命令,或者作为 myapp 的附加选项,以启动交互式 shell?

我知道有本地 docker 命令选项可以实现这一点,只是好奇是否也可以仅使用 Docker Compose。

原文由 drubb 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
1 个回答

您需要在 docker-compose.yml 中包含以下几行:

 version: "3"
services:
  app:
    image: app:1.2.3
    stdin_open: true # docker run -i
    tty: true        # docker run -t

第一个对应于 -idocker run 和第二个对应 -t

原文由 Leon Carlo Valencia 发布,翻译遵循 CC BY-SA 4.0 许可协议