禁止节点上的多个容器

时间:2017-08-20 16:20:21

标签: docker swarm

如何在节点上使用多个容器禁用:Docker,Swarm,Compose? 例如,我有5个节点,我想部署3个副本一些服务,我希望这个副本将在不同的节点上。

1 个答案:

答案 0 :(得分:0)

Docker的群集模式目前默认为HA调度策略,因此只要有多个可用节点来安排任务,就不需要将服务分布在多个节点上。约束,内存限制和中断可能会影响必须安排任务的可用节点。 HA调度程序首先搜索具有最少任务实例的候选节点(通常为0,除非您有比节点更多的副本),然后它通过支持具有较少任务的节点来打破结果列表。

为了进一步控制在多个节点上分散任务,我建议您查看最近版本中添加的placement preferences。我不相信这已经成为堆栈和compose文件了,但我希望它只是时间问题(新的swarm模式功能首先被引入docker service命令行,后来被添加到更高层次的抽象)。展示位置首选项允许您标记节点以指示更高级别的拓扑,例如常见机架,交换机或数据中心。并且放置首选项启用拓扑感知调度,该调度可以在具有所需标签的唯一值的节点之间传播任务。因此,如果你有两个单独的机架,每个机架有5个节点,没有拓扑意识的调度,一切都可以安排在一个机架上,并且通过拓扑感知调度,它可以将一半的任务放在每个机架上。