不在 Docker Swarm 的主节点上部署容器

Not deploy container on master node in Docker Swarm

我正在做一个项目,它使用 Raspberry Pis 作为工作节点,我的笔记本电脑作为主节点。我希望通过笔记本电脑控制容器的部署,但我希望容器 运行 仅在工作节点上(这意味着主节点上没有容器)。我怎样才能用 Docker Swarm 做到这一点?

我假设您正在使用 stack.yml 文件来描述您使用 desired-state 的部署,但是 docker service create 也有针对此的标志。

docker 定义了一些可以在 placement-constraints 节点下测试的值:

version: "3.9"

service:
  worker:
    image: nginx
    deploy:
      placement:
        constraints:
        - node.role==worker