以代码 0 退出

新手上路,请多包涵

我正在尝试使用 docker-compose 服务启动容器。但不幸的是, 容器以代码 0 退出。容器的构建得益于来自 .tar.gz 存档的存储库。这个存档是一个 Centos 虚拟机。

我想从同一个档案中创建 6 个容器。我不想输入 6 次 docker 命令,而是想创建一个 docker-compose.yml 文件,我可以在其中总结他们的命令和标签。

我已经开始编写 docker-compose.yml 文件来创建一个容器。

这是我的 docker-compose.yml :

 version: '2'
services:
  dvpt:
   image: compose:test.1
   container_name: cubop1
   command: mkdir /root/essai/
   tty: true

不要注意命令,因为我只是指定一个。

所以我的问题是, 为什么容器正在退出?是否有另一种解决方案可以同时构建这些容器?

感谢您的回复。

原文由 Sylvain M.J. 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 308
2 个回答

答案实际上是第一条评论。我会稍微解释一下 Miguel 的评论。

首先,我们需要了解 Docker 容器运行单个命令。只要命令启动的进程正在运行,容器就会运行。一旦该过程完成并退出,容器将停止。

有了这种理解,我们就可以对您的情况做出假设。当您启动 dvpt 服务时,它会运行命令 mkdir /root/essai/ 。该命令创建文件夹,然后退出。此时,Docker容器停止,因为进程退出(状态为0,表示 mkdir 完成没有错误)。

原文由 Andy Shinn 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 -d 在后台运行 docker

 $ docker-compose up -d

并在 docker-compose.yml 添加:

 mydocker:
    tty: true

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题