首页 > 解决方案 > 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

标签: dockerdocker-swarm

解决方案


没有放置限制,全局模式的服务将在每个集群节点上部署一个副本。结果,您将拥有 5/5 个副本。

您可以使用放置约束来限制部署到特定节点,例如工作节点或具有特定节点标签的节点:

  • 您可以使用放置约束来限制部署到您的工作节点,这将导致 4 个副本。

  • 您可以将节点标签添加到 n 个节点并将其用作放置约束,从而产生 n 个副本。

虽然全局模式服务保证在满足放置约束的每个节点上运行一个服务的副本,但复制模式服务不一定如此。复制模式服务通常在节点间展开,但也可以放在单个节点上......

为什么将(黄色)复制模式服务的副本列为 1/3?如果所有副本都部署成功,它应该是 3/3。

数字表示服务的总部署摘要。它不指示副本如何在集群中分布,也不指示副本在哪里运行。副本在哪里运行。


推荐阅读