如何在特定节点上创建 docker 服务并将其扩展到 swarm 中的其他节点?
How to create a docker service on a specific node but scale it to other nodes too in the swarm?
我是 docker 的新手,因此我有这种幼稚的疑问。我想要一种方法,每当我创建服务时,它都会在特定节点上创建,但如果我缩放它,它应该缩放到 docker 群中存在的其他节点。
我知道 --mode global 和 --constraints node.hostname!=node-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
我是 docker 的新手,因此我有这种幼稚的疑问。我想要一种方法,每当我创建服务时,它都会在特定节点上创建,但如果我缩放它,它应该缩放到 docker 群中存在的其他节点。 我知道 --mode global 和 --constraints node.hostname!=node-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