首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >群中副本的数量不会从工作节点开始(1/4)

群中副本的数量不会从工作节点开始(1/4)
EN

Stack Overflow用户
提问于 2017-10-02 08:42:06
回答 1查看 2.2K关注 0票数 0

我在带有1个主节点和3个工作节点的坞群集群上启动了一个烧瓶API服务。我已经使用下面的docker组合文件部署了任务,

代码语言:javascript
复制
version: '3'

services:
  xgboost-model-api:
image: xgboost-model-api
  ports:
    - "5000:5000"
deploy:
  mode: global
networks:
  - xgboost-net

networks:
   xgboost-net:

我使用下面的停靠群命令部署了该任务,

代码语言:javascript
复制
docker stack deploy --compose-file docker-compose.yml xgboost-swarm

但是,该任务仅在我的主节点上启动,而不是在任何工作节点上启动。

代码语言:javascript
复制
$ docker service ls
ID            NAME                             MODE        REPLICAS  IMAGE
pgd8cktr4foz  viz                              replicated  1/1       
dockersamples/visualizer
twrpr4av4c7f  xgboost-swarm_xgboost-model-api  global      1/4       xgboost-model-api
xxrfn1w7eqw6  dockercloud-server-proxy         global      1/1       dockercloud/server-proxy 

正在使用的Dockerfile是这里。任何关于为什么会发生这种行为的想法都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-02 08:53:22

如本线程所述(重复?):

如果您使用的是私有注册表,则必须通过以下方法与工作节点共享登录和凭据:

docker堆栈部署--带有注册表-auth

-更新

从您的撰写文件看,它看起来不像是在使用私有注册表。一般说来,如果集装箱不能成功地在工人身上启动,他们就会成为经理。造成这种情况的一些可能原因是:

  1. 无法访问私有注册表(修正
  2. 应用程序需要在主机上进行一些更改才能运行(就像elasticSearch需要vm.max_map_count=262144)
  3. 由于编写得不好,HealthCheck在其他节点上失败。
  4. 防止拖动图像的网络设置问题

尝试移除堆栈并再次运行它。然后执行docker service ps --no-trunc {serviceName},这可能会显示应该在另一个节点上运行该服务的任务以及它失败的原因。

有关更多故障排除提示,请查看这根线

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

https://stackoverflow.com/questions/46522185

复制
相关文章

相似问题

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