我有一个由docker swarm join
命令
如果我想通过
将docker实例扩展为15docker service create --replicas 15
docker swarm如何知道启动容器的位置?
是循环还是考虑到计算资源(使用了多少cpu / mem)?
答案 0 :(得分:3)
当您在Swarm模式下创建服务或扩展服务时,scheduler
上的Elected Leader
(其中一个管理员)将选择一个节点来运行服务。目前领导者有3种策略。
spread
和binpack
策略根据节点的可用CPU,RAM以及它拥有的容器数来计算排名。 random
策略不使用任何计算。它随机选择一个节点,主要用于调试。
在spread
策略下,Swarm会针对容器数量最少的节点进行优化。 binpack
策略使Swarm针对包装最多的节点进行优化。
Swarm默认使用spread。
请记住,您也可以Constraint
特定节点上的容器。
无法在泊坞版1.12.1(最新版本到发布日期)中设置策略