【发布时间】:2020-09-01 05:44:01
【问题描述】:
我有一个 docker swarm,有 1 个主节点和 7 个工作节点,跨 3 台机器,所有机器都运行 tomcat 容器。
我希望仅将我所有的容器部署到严格的 2 个工作节点。
我将如何为此类部署设置关联规则?
您能帮我详细说明一下如何实现这一点吗?
【问题讨论】:
标签: docker docker-swarm rules affinity
我有一个 docker swarm,有 1 个主节点和 7 个工作节点,跨 3 台机器,所有机器都运行 tomcat 容器。
我希望仅将我所有的容器部署到严格的 2 个工作节点。
我将如何为此类部署设置关联规则?
您能帮我详细说明一下如何实现这一点吗?
【问题讨论】:
标签: docker docker-swarm rules affinity
您可以标记 2 个工作节点:
docker node update --label-add foo=bar node-1
docker node update --label-add foo=bar node-2
然后使用部署放置约束强制容器降落在您在上一步中标记的节点上:
services:
your-service:
image: your-image
deploy:
placement:
constraints: [node.labels.foo=bar ]
【讨论】:
swarm affinity提出类似的解决方案吗? @新安德森
swarm affinity 上的文档非常稀缺。