Docker swarm – 添加新的worker – 重新调整服务

我创build了一个dockerpipe理员。 创build一个服务,并在同一台服务器上扩展到5个实例。

我加了两名工人。 现在,如何在3个节点上重新分配5个应用程序实例?

有没有从一开始就做任何事情的select?

docker service scale id=5做到了。 这是正确的方式吗? 我不想重新启动已有的实例。 它在节点1重新启动。

docker service update servicename

我通过docker swarm leave从集群中删除一个节点。 我更新了服务。 我的所有实例都在其余节点中复制。

很高兴,Update按预期工作。 但是,还有一个转折。

我添加了节点。 然后我更新了服务。 现在,我的所有实例都像以前的情况一样运行。 它不使用新的节点。

它是如何工作的?

要重新分配,您不需要销毁和重新创build服务,但容器将全部以滚动升级方式popup。 该命令是docker service update --force $service_name


在添加或删除节点时,只有在当前状态和目标状态之间存在差异时,docker才会重新计划。 它不会过早地杀死正在运行的容器,然后在新节点上重新安排,直到执行上述更新命令。