如何解决我可以在我对 docker 堆栈文件的约束中使用两个主机名吗?
我有一个堆栈文件,我试图在其中告诉它使用我提供的两个主机名中的任何一个。这可能吗?该服务不会以这些变量开始,但是,当删除其中至少一个时,它可以工作。感谢您的帮助!
堆栈文件:
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
当然,标签可以有您选择的键=值。一个节点可以有多个节点标签。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。