我正在尝试使用 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 许可协议
答案实际上是第一条评论。我会稍微解释一下 Miguel 的评论。
首先,我们需要了解 Docker 容器运行单个命令。只要命令启动的进程正在运行,容器就会运行。一旦该过程完成并退出,容器将停止。
有了这种理解,我们就可以对您的情况做出假设。当您启动
dvpt
服务时,它会运行命令mkdir /root/essai/
。该命令创建文件夹,然后退出。此时,Docker容器停止,因为进程退出(状态为0,表示mkdir
完成没有错误)。