Docker Swarm,新机器在机器启动时不会拉取“复制”服务的映像

我有2个服务应该运行在我添加到我的Swarm(Docker),serviceG和serviceR,serviceG处于全局模式,serviceR处于复制模式的机器上。

当我将一台新机器添加到docker群时,serviceG的图像会自动拉出,但是serviceR的图像不会自动拉出。

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

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

当机器启动时,我可以使用Docker Pull,但是当新机器joinsw服务的图像时,我希望拉动自动完成。

这是按照devise运作的。 Swarm模式不会过早地重新平衡群中的工作负载。 这样做可能会导致工作负载重新安排到抖动或其他故障节点上,并且通常会导致服务的可用性降低。

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

docker service update --force your_service_name 

如果你只想拉图像而不运行它,你可以直接login到新节点并运行docker pull your_image_name