我可以在 docker 堆栈文件的约束中使用两个主机名吗?
can I use two hostname in my constraints on docker stack file?
我有一个堆栈文件,我试图告诉它使用我提供的两个主机名之一。这可能吗?该服务不是从这些变量开始的,但是,当至少删除其中一个变量时,它会起作用。感谢您的帮助!
堆栈文件:
deploy:
placement:
constraints:
- node.hostname == myhost1
- node.hostname == myhost2
放置约束是 AND 链接的。
不过,您可以将节点标签添加到两个主机,并将节点标签用作放置约束。我使用标签“mycustomlabel=true”来说明用法。
在管理器节点上:
docker node update --label-add mycustomlabel=true myhost1
docker node update --label-add mycustomlabel=true myhost2
然后使用节点标签作为放置约束:
deploy:
placement:
constraints:
- node.labels.mycustomlabel == true
当然,标签可以有您选择的键=值。一个节点可以有多个节点标签。
我有一个堆栈文件,我试图告诉它使用我提供的两个主机名之一。这可能吗?该服务不是从这些变量开始的,但是,当至少删除其中一个变量时,它会起作用。感谢您的帮助!
堆栈文件:
deploy:
placement:
constraints:
- node.hostname == myhost1
- node.hostname == myhost2
放置约束是 AND 链接的。
不过,您可以将节点标签添加到两个主机,并将节点标签用作放置约束。我使用标签“mycustomlabel=true”来说明用法。
在管理器节点上:
docker node update --label-add mycustomlabel=true myhost1
docker node update --label-add mycustomlabel=true myhost2
然后使用节点标签作为放置约束:
deploy:
placement:
constraints:
- node.labels.mycustomlabel == true
当然,标签可以有您选择的键=值。一个节点可以有多个节点标签。