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才会重新计划。 它不会过早地杀死正在运行的容器,然后在新节点上重新安排,直到执行上述更新命令。