仅在退出另一个容器后如何启动Docker容器

Vic*_*sky 5 php composer-php docker docker-compose

假设我有2个容器:composerphp,它们共享相同的代码库,即相同的卷。我想用一个docker-compose命令来管理它们docker-compose up

因此,问题是如何才能一个一个地而不是同时启动这些容器?我的意思是,php仅在composer退出一个容器后启动我的容器,即composer容器应该为我的php容器安装所有供应商并退出,然后php容器才应该与已经安装的供应商一起启动内置PHP Web服务器。

PS现在,我得到了两个容器同时启动的行为。因此,我的php容器试图在没有供应商的情况下启动Web服务器,而composer容器则试图安装这些供应商。

这种情况有好的解决方案吗?

İsm*_*urt 5

有几件事可以帮助您;

  • depends_on:不等待其他服务完成,只等待其他服务启动。见:depends_on
  • health_check:直到命令返回成功才启动服务。参见:健康检查
  • 创建一个 shell 脚本来初始化你的容器/服务。参见:启动顺序