2016-10-05 61 views
0

我们正在尝试使用docker服务的docker v1.12 swarm模式,并试图找到一种方法来确保容器不会在同一个节点上运行。我们有三个容器,并希望运行3个码头引擎主机。当我最初带一个2副本的服务之一结束了在同一节点上运行两个容器时。Docker Swarm模式服务反亲和

现在我正在通过使它们成为全球性来解决这个问题,但我希望找到一种方法来做到这一点。我已经看到你可以使用标签,然后为同一个容器创建多个服务并使用约束,但想知道是否有更简单的方法。

回答

1

您可以在节点上使用node labels,在某种程度上可以使用service constraints来影响任务调度。但是现在群模式的调度器功能是有限的。

有关于你的问题没办法解决的悬而未决的问题: https://github.com/docker/docker/issues/26259

+1

的变化是[SwarmKit]部分(https://github.com/docker/swarmkit/issues/308),将在Docker'1.13' - 默认的调度策略将在尽可能多的节点中分配。 –

+0

感谢这正是我希望找到的,很高兴它正在讨论。现在将使用标签。 – tweeks200