Docker 从组合文件加载后容器立即存在(退出代码 0)

Docker container immediately exists after loading from compose file (exit code 0)

也许我遗漏了一些明显的东西,但我只是尝试将 firebase-tools docker 图像添加到我的 docker-compose 文件中:

version: '3.6'
services:
  firebase-tools-test:
    tty: true
    image: andreysenov/firebase-tools
    ports: 
      - 9099:9099
      - 4000:4000
      - 5000:5000
      - 5001:5001
      - 9199:9199
      - 9005:9005
      - 9000:9000
      - 8085:8085
      - 8080:8080

Howeber 当 运行 它立即存在,退出代码为 0。日志根本不显示任何内容,我想知道这是否是一个简单的错误配置,以及如何获得更详细的日志记录以了解原因它正在退出。

Docker 默认情况下不会保留您的容器 运行。如果事情完成,它将退出。要使其等待输入,请使用 docker run -it 进行交互或使用 docker run -dt 进行分离模式来创建 TTY。对于 compose 它将是 tty: true,或者你用

之类的东西覆盖给定的 CMD
entrypoint: ["tail"]
command: ["-f","/dev/null"]

command: tail -F anything 或其他模仿保持进程 运行 永远..

备注:这是可行的,因为无论如何容器只是 运行 sh。如果 CMD 中有不同的东西,你必须调用它并通过 command: <command to start container logic> && tail -F anything 或类似的东西链接到上面。