我是码头工的新手,因此我心中有这种天真的怀疑。我想要一种方法,每当我创建一个服务时,它就会在特定节点上创建,但如果我扩展它,它应该扩展到docker swarm中太多的其他节点。 我知道--mode global和--constraints node.hostname!= node-1。但这并不能解决我的问题。如果我的问题不清楚,我会尝试以更好的方式解释它。
答案 0 :(得分:1)
您需要使用placement-pref并拥有两个组,一个用于要运行它的节点,另一个用于另一个组中的其他节点。
$ docker service create \
--replicas 1 \
--name myservice \
--placement-pref 'spread=node.labels.main_machine' \
--placement-pref 'spread=node.labels.extended_machines' \
<yourimage>
现在你的第一个会继续main_machine
,而缩放的那个会转到extended_machines