2017-08-30 60 views
0

我有2个服务应该运行在我添加到我的Swarm(Docker),serviceG和serviceR,serviceG处于全局模式的机器上,serviceR处于复制模式。Docker Swarm,机器启动时,新机器不会拉动'replicate'服务镜像

当我向码头群添加新机器时,serviceG的图像会自动拉出,但是serviceR的图像不会自动拉出。

如果我在其他机器上移除了一个serviceR容器,图像被拉到我的新机器上,然后现在可以在新机器上启动容器。

图像都存储在同一个存储库。

我可以使用,当机器启动泊坞拉,但我想,当新机服务R.

回答

1

为设计这是正常工作的形象加入大群自动完成拉。 Swarm模式不会过早地重新平衡群中的工作负载。否则可能会导致工作负载重新安排到抖动或其他故障节点上,并且通常会导致服务可用性降低。

如果您需要手动强制滚动更新,以平衡你的服务,你可以运行:

docker service update --force your_service_name 

如果你只是想拉一个图像,而不是运行它,您可以直接登录到新节点并运行docker pull your_image_name

+0

感谢您的回答,完全忘了我可以使用'docker service update --force your_service_name',现在我知道为什么Swarm的行为是这样的:) – Nolyurn

相关问题