强制Docker Swarm容器分发
我目前有一个容器Jenkins设置在我的docker群环境中,包括3个主站和4个从站节点。 几分钟前,我重新启动了master和slave,注意到当我执行docker ps
时,所有容器现在都出现在一个节点上。 不是平均分配在主人和奴隶。
有没有办法让我强迫docker把虫箱均匀分布在虫群主人和奴隶之间?
编辑
root@docker1 ~ 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`
作为docker 1.12.3,失败后无法在swarm节点上均匀地重新平衡/重新分发容器。
但是你可以尝试这些解决方法:
-
Drain
node
将所有容器,容器将停止,并将根据您的scheduling strategy
在其他节点上启动。 这个缺点是你将有一个空的node
。 (排水节点) -
您可以停止/删除服务并重新创build服务,使用
Bundles
可以帮助您保持一致并更快地完成工作,这将根据scheduling strategy
将容器分发到您的nodes
上。