如何在一个特定的节点上创build一个docker服务,但是也将其扩展到群中的其他节点?

我是新来的docker工人,因此我在脑海里有这个天真的怀疑。 我想要一种方式,无论何时创build一个服务,它都会在特定的节点上创build,但是如果我缩放它,它应该缩放到Docker群中的其他节点。 我知道 – 全局模式和–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

查看urlhttps://docs.docker.com/engine/reference/commandline/service_create/#specify-service-placement-preferences-placement-pref