如何使用亲和力将容器部署到 docker 集群中的工作节点子集?

How to deploy container to subset of worker nodes in a docker swarm using affinity?

我有一个 docker swarm,在 3 台机器上有 1 个主节点和 7 个工作节点,所有 运行 tomcat 个容器。

我希望将所有容器部署到严格的 2 个工作节点。

我将如何为这样的部署设置关联规则?

能否请您帮助我详细说明如何实现此目的?

您可以标记 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 ]