【问题标题】:Docker swarm - how to replicate a service on each node in the swarmDocker swarm - 如何在 swarm 中的每个节点上复制服务
【发布时间】:2018-04-21 14:08:57
【问题描述】:
我想将一个堆栈部署到一个 docker swarm,我希望每个节点都运行一个给定的服务。
我查看了deploy.placement 配置,发现最接近的选项是放置首选项spread=node.label.abc,它将平均分配与标签匹配的节点上的服务。但是,这需要始终更新副本数以匹配节点数。
有没有办法在所有节点上自动部署服务,而无需手动更新副本数?
【问题讨论】:
标签:
docker
docker-compose
docker-swarm
【解决方案1】:
有没有办法在所有节点上自动部署服务,而无需手动更新副本数?
是的,在global mode 中部署您的服务,而不是复制。链接示例:
version: '3'
services:
worker:
image: dockersamples/examplevotingapp_worker
deploy:
mode: global
这将在与您的约束匹配的每个节点上运行容器的单个实例。