我有一个由10个Swarm节点组成的集群,通过docker swarm join命令启动@H_404_2@
如果我想将docker实例扩展为15@H_404_2@
@H_404_2@
docker service create --replicas 15
docker swarm如何知道启动容器的位置?@H_404_2@
最佳答案
当您在Swarm模式下创建服务或扩展服务时,Elected Leader上的调度程序(其中一个管理器)将选择一个节点来运行该服务.目前领导者有3种策略可供使用.@H_404_2@
原文链接:https://www.f2er.com/docker/436002.htmlspread和binpack策略根据节点的可用cpu,RAM以及它拥有的容器数来计算排名.随机策略不使用计算.它随机选择一个节点,主要用于调试.@H_404_2@
在传播策略下,Swarm优化容器数量最少的节点. binpack策略使Swarm针对最多打包的节点进行优化.@H_404_2@
Swarm默认使用spread.
请记住,您也可以在特定节点上约束容器.@H_404_2@
在docker版本1.12.1(最新版本到发布日期)中设置策略是不可能的@H_404_2@