Docker swarm-添加新员工-重新扩展服务

Docker swarm-添加新员工-重新扩展服务,docker,docker-swarm,Docker,Docker Swarm,我创建了一个docker manager。在同一服务器中创建了一个服务并扩展到5个实例 我增加了两名工人。现在,我如何跨3个节点重新分发5个应用程序实例 有没有一开始就不做任何事情的选择 docker服务规模id=5执行此操作。这条路对吗?我不想重新启动已经存在的实例。它在节点1重新启动 docker服务更新servicename 我通过docker swarm leave从集群中删除一个节点。我更新了服务。我的所有实例都在其余节点中复制 很高兴,更新按预期进行。但是,还有另一个转折点 我把节点

我创建了一个docker manager。在同一服务器中创建了一个服务并扩展到5个实例

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

有没有一开始就不做任何事情的选择

docker服务规模id=5
执行此操作。这条路对吗?我不想重新启动已经存在的实例。它在节点1重新启动

docker服务更新servicename

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

很高兴,更新按预期进行。但是,还有另一个转折点

我把节点加了回去。然后我更新了服务。现在,我的所有实例都像前面的例子一样运行。它不使用新节点


它是如何工作的?

要重新分发,您不需要销毁和重新创建服务,但容器将在滚动升级中全部反弹。命令是
docker服务更新--force$service\u name



添加或删除节点时,docker仅在当前状态和目标状态之间存在差异时才会重新调度。在您执行上述更新命令之前,它不会过早地终止正在运行的容器,然后在新节点上重新调度。

最后澄清,您所说的当前和目标状态是什么意思?它与形象或服务有关吗<代码>它不会过早地终止正在运行的容器,然后在新节点上重新调度,直到您执行上述更新命令意味着如果我运行
--force update
,它将终止正在运行的容器并重新调度,以确保HA。我说的对吗?force更新将对服务进行滚动更新,重新启动容器,并重新平衡它们。当前状态是当前正在运行的状态,目标状态是服务中的定义。