2017-03-06 11 views
3

我正在使用docker-compose文件版本3及其部署密钥来运行群集(docker版本为1.13),并且我想要复制服务以使其再次具有弹性单节点失败。不同节点上的Docker群体副本

然而,当我加入一个部署部分是这样的:在我的四个节点集群

deploy: 
    replicas: 2 

有时我结束了安排在同一节点上两个副本。我缺少的是在不同节点上调度两个实例的约束。

我知道有一个global模式我可以使用,但它会在每个节点上运行一个实例,即在我的情况下是四个实例,而不是两个。

有,而不必诉诸于global和标签组合,从保持更多的情况下客场指定一个通用的方式这个约束一个简单的方法?

编辑:再次尝试后,我发现这个时候在不同节点上安排容器。我开始怀疑我是否可能遇到了约束。

编辑2:其它服务更新后 - 而且没有任何布局约束 - 该服务将再次被安排在同一节点上(由ManoMarks Visualizer所显示):

enter image description here

回答

1

什么版本泊坞窗的你使用?根据这篇帖子在1.13这类问题已经纠正,请看看:https://github.com/docker/docker/issues/26259#issuecomment-260899732

希望能回答你的问题。

+0

对不起,我应该提到 - 1.13是我使用的版本。 – sas

+0

感谢这个问题的链接 - 它似乎仍然是开放的。从这个问题挂钩是一个解决方案,建议添加一个虚拟主机端口:https://github.com/docker/docker/issues/26259#issuecomment-277716832我想这会工作,但它感觉有点“哈克”。 – sas

+0

再次尝试后,我发现此时在不同节点上安排容器。我开始怀疑我是否有'node.hostname == X'约束。那么可能是一个非问题! – sas

相关问题