给定组成文件
version: '3.8'
services:
whoami1:
image: containous/whoami
depends_on:
- whoami2
whoami2:
image: containous/whoami当部署到停靠群时,docker stack deploy -c docker-compose.yaml test服务、whoami1和whoami2似乎以随机顺序开始,而忽略了depends_on条件。
docker stack deploy -c docker-compose.yaml test
Creating network test_default
Creating service test_whoami1
Creating service test_whoami2docker群是否支持通过依赖项启动服务的排序?
发布于 2020-08-04 09:43:39
不,至少不是内置的。
即使使用depends_on,whoami2也可能还没有准备好与whoami1交互,因为它可能需要时间来引导自己:
然而,对于启动
,撰写不会等到容器“准备好”(无论对您的特定应用程序意味着什么)--直到它运行。这有一个很好的理由。
https://docs.docker.com/compose/startup-order/
他们暗示有两个可能性来检查whoami2是否准备好了。
使用诸如等待it、dockerize或sh兼容的等待等工具。这些是小包装脚本,您可以在应用程序的映像中包含这些脚本,以轮询给定的主机和端口,直到它接受TCP连接为止。
而depends_on确实被码头群忽略了:
在使用depends_on时有几件事需要注意:
在部署具有版本3的组合文件的群集模式下的堆栈时,
https://stackoverflow.com/questions/62558973
复制相似问题