Docker群约束通配符

我正在运行一个跨越10个不同主机/服务器/机器的Docker群,所有标记都不同,例如nginx_1 nginx_2 nginx_3 nginx_4 app_1 app_2 app_3 app_4 testing_1 testing_2

使用Docker swarm约束,有一种方法可以使用标签和通配符来指定服务可以运行在哪个节点上,通配符可以让服务运行在任何具有nginx开始标签的节点上,例如

--constraint 'node.labels.name ==nginx*' 

我们暂时不能使用通配符。

你可以用一个新的标签来标记所有的nginx节点 ,例如:

 docker node update --label-add type=web node1 docker node update --label-add type=web node2 ... 

并使用--constraintweb标签的节点上创build你的nginx服务 :

 docker service create \ --name nginx \ --constraint 'node.labels.type == web' \ nginx