docker - docker swarm:复制服务和全局服务之间的区别
问题描述
基于本文档中的这张图片https://docs.docker.com/engine/swarm/how-swarm-mode-works/services/:
#docker service ls
对于所描述的两个服务,命令的输出应该如何?我的理解是:
grey global "1/1" consul:latest
yellow replicated "1/3" consul:latest
我不确定“”之间的数字我需要支持才能理解输出
基于答案的正确输出和图片将是:
grey global "5/5" consul:latest
yellow replicated "3/3" consul:latest
解决方案
没有放置限制,全局模式的服务将在每个集群节点上部署一个副本。结果,您将拥有 5/5 个副本。
您可以使用放置约束来限制部署到特定节点,例如工作节点或具有特定节点标签的节点:
您可以使用放置约束来限制部署到您的工作节点,这将导致 4 个副本。
您可以将节点标签添加到 n 个节点并将其用作放置约束,从而产生 n 个副本。
虽然全局模式服务保证在满足放置约束的每个节点上运行一个服务的副本,但复制模式服务不一定如此。复制模式服务通常在节点间展开,但也可以放在单个节点上......
为什么将(黄色)复制模式服务的副本列为 1/3?如果所有副本都部署成功,它应该是 3/3。
数字表示服务的总部署摘要。它不指示副本如何在集群中分布,也不指示副本在哪里运行。副本在哪里运行。
推荐阅读
- gulp - 子进程使用 gulp-run 执行命令任务时发生错误
- reactjs - 如何解决反应js中的“useRef不是函数错误”
- pouchdb - PouchDb 与 CouchDb 不同步......为什么复制不能修复它?
- tfs - VSTS下无法添加新分支
- python - 当应用 word2vec 时,只显示字符而不是单词 ؟
- mips - 如何确定整数的 ASCII 表示是负数还是正数
- c# - “在哪里”和“选择”如何在 LINQ 中工作?
- c - 如果语句在 C KDMF 驱动程序中失败
- c - 我想与 Agilent 34410a USB DMM 通信。错误太多
- python - 如果给定的数据在使用 R 或 Python 的范围(-1 到 1)内,如何以 (-3 ,-2,-1,0,1,2,3) 格式规范化数据?