用serfpipe理服务器和Docker容器

我使用Serf而不是将容器连接在一起,这样我就可以重新启动Docker容器而不会断开链接。 在每台服务器上,我运行一个容器,其中每个本地容器链接到Serf端口,然后使用Serf发现其他本地容器。 这工作正常单一的服务器,但我想链接两台服务器,让他们发现在他们两个上运行的服务,所以我可以最终引入另一台奴隶服务器,如果我想。

问题是,一旦我通过运行与其他服务器IP的serfjoin他们两个他们,他们接触,但立即看到另一个服务器和它的容器失败,这是合乎逻辑的。

有什么我可以做的只是使用一个集群的容器和服务器? 还是有什么我可以用于服务器和容器之间的通信,而不是我自己的黑客解决scheme?

你所寻找的是同样被称为Consul的Hashicorp的Serf。 实际上,Consul使用Serf库来实现一些基础function,但是它被用于这个更高级别的编排,特别是Serfpipe理的集群。 根据我的经验,Serf可以很好地协调一个主机上的容器,而Consul可以很好地协调主机本身,以你想象的方式有效地连接你的Serf实例(Consul文档使用的术语是“数据中心感知”行为) 。