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