我正在Windows下使用Docker,在Ubuntu上也使用docker-ce。
我启用了docker swarm模式。
我遇到了许多文章,这些文章指定swarm具有不同的策略(例如装箱,传播),我们可以在docker info命令中看到它,但我看不到。
本文中的某些内容还指定了不同的过滤器,例如亲和力,资源,端口和约束。我只能在docker service命令中看到约束,而在其他命令中看不到约束。
我们如何才能像该服务那样仅在该节点正在运行具有特定名称的服务的节点上运行? (有很多场景,但这只是其中之一)
答案 0 :(得分:0)
需要清除的几件事:
答案 1 :(得分:0)
如上所述,“新”泊坞窗群模式没有诸如亲和力之类的内置概念。解决方法是,您可以使用标签,但如前所述,通常这会导致故障转移。
我遇到了类似的问题,并创建了一个“自动标签”程序,该程序可检测正在运行的服务/任务并相应地设置节点标签,以使其在启动/停止时保持更新。然后,您可以使用节点标签,而不会失去故障转移功能。
请参阅以下docker存储库:davideshay/dockerautolabel
可在github上找到源代码:https://github.com/davideshay/dockerautolabel
也在寻找反馈来改进。