首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头栈部署depends_on

码头栈部署depends_on
EN

Stack Overflow用户
提问于 2020-06-24 15:46:00
回答 1查看 5.3K关注 0票数 3

给定组成文件

代码语言:javascript
复制
version: '3.8'
services:
  whoami1:
    image: containous/whoami
    depends_on:
      - whoami2
  whoami2:
    image: containous/whoami

当部署到停靠群时,docker stack deploy -c docker-compose.yaml test服务、whoami1whoami2似乎以随机顺序开始,而忽略了depends_on条件。

代码语言:javascript
复制
 docker stack deploy -c docker-compose.yaml test
Creating network test_default
Creating service test_whoami1
Creating service test_whoami2

docker群是否支持通过依赖项启动服务的排序?

EN

回答 1

Stack Overflow用户

发布于 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的组合文件的群集模式下的堆栈时,

  • (...)
  • The depends_on选项将被忽略。

https://docs.docker.com/compose/compose-file/#depends_on

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62558973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档