2016-11-30 204 views
2

我目前在我的Docker群体环境中有一个容器Jenkins设置,其中包括3个主节点和4个从节点。几分钟前我重新启动了主设备和从设备,并注意到当我执行docker ps时,现在所有容器都显示在一个节点上。不是均匀分布在主人和奴隶之间。Force Docker Swarm容器分发

有没有一种方法可以让我强制泊坞员将容器均匀分布在我的swarm主人和奴隶上?

编辑

[email protected]  ~   master  docker version 
Client: 
Version:  1.12.3 
API version: 1.24 
Go version: go1.6.3 
Git commit: 6b644ec 
Built: 
OS/Arch:  linux/amd64 

Server: 
Version:  1.12.3 
API version: 1.24 
Go version: go1.6.3 
Git commit: 6b644ec 
Built: 
OS/Arch:  linux/amd64` 
+0

你使用的是什么版本的Swarm,这是1.12.0的Swarm模式吗?有一个已知的错误重新启动管理器集,最终将在一个节点上的所有容器。你可能正在打这个案子。也许耗尽那个节点将有助于将容器散布到其他节点。 – abronan

回答

1

由于码头工人1.12.3没有办法来平衡均匀/失败后重新分配的群节点容器。

但你可以尝试以下解决方法:

  1. Drainnode将所有的容器,容器将停止,将在其他节点取决于你scheduling strategy启动。缺点是你会有一个空的node。 (沥干节点)

  2. 您可以停止/删除服务,并重新创建它们,使用Bundles将帮助你保持一致,并做得更快,这将导致容器分布在您nodes取决于你scheduling strategy