根据Controlling startup order in Compose的说法,可以通过使用"wait-for-it“脚本来控制Docker Compose启动容器的顺序。Script wait-for-it.sh需要host:port参数以及当端口可用时脚本应执行的命令。文档建议Docker Compose使用entrypoint:选项调用此脚本。在我的例子中,我实现了一个脚本wait-for-file.sh,它轮询等待文件存在: #!
现在,我有了一个PHP脚本,需要以同样的方式执行,意思是“只执行,然后关闭所有东西”。
问题是,要使脚本完全执行,我需要启动并运行mongodb容器,因为脚本正在写入数据库。因此,由于必须启用mongodb容器,所以我尝试使用docker-compose执行脚本,而不是使用docker执行脚本。使用docker-compose up -d运行整个环境,在输入doc