Docker Swarm-网络覆盖未连接所有容器

我目前使用Docker

Swarm和Consul设置了3个EC2实例。我有3个简单的节点应用程序分布在所有3个实例上,然后使用nginx在我的集群主机上进行路由。

使用覆盖网络指南,我创建了一个名为的新覆盖,mynet并使每个容器都连接到该网络。使用docker

inspectI可以确认每个节点容器和nginx容器都已连接mynet并具有IP。但是,在进入我的nginx容器后,它只能通过网络与位于同一主机上的节点应用程序通信,而不能与集群中其他主机上的节点应用程序通信。

运行后docker network inspect

mynet,仅列出了我的两个容器(位于同一主机上的nginx和一个节点实例),而未列出其他两个容器,即使它们的名称和IP来自,也是如此docker

inspect

这个想法是使用nginx反向代理将联机的任何新容器添加到它的配置中,但是一直困扰着使容器全部连接。根据用于覆盖的Docker网络文档,这应该是可能的。

我究竟做错了什么?谢谢。

编辑:

垃圾邮件docker network inspect

mynet几次后,即使我关闭了所有防火墙并打开了端口以进行测试,容器似乎仍在不断地与网络连接和断开连接。是什么原因引起的呢?

回答:

原来有两个问题导致了我的问题。

一种是我正在使用docker network overlay不支持的内核3.13 。升级到3.16可解决此问题。其次,Swarm

1.0.1中存在一个错误,该错误确实正确聚合了网络信息。它已在此处修复,但截至撰写本文时尚未发布。

以上是 Docker Swarm-网络覆盖未连接所有容器 的全部内容, 来源链接: utcz.com/qa/406538.html

回到顶部