Docker 2个具有相同CIDR的服务

Docker 2个具有相同CIDR的服务,docker,docker-networking,Docker,Docker Networking,我在尝试将web流量路由到phpfpm实例时遇到问题。当我重新启动aws ec2实例时,会定期收到502个“坏网关”错误,因为phpfpm容器没有从web服务容器响应 我可以跳入php容器中,没有问题,而且一切似乎都很好,但不知何故,我无法执行telnet phpcontainer 9000——它说无法建立连接。似乎正在将服务名称的ip解析为服务网关ok。php服务只有1个副本,但web服务有2个副本(全局复制) 然后我开始检查服务和容器的所有ip地址 我注意到有两个服务具有相同的cidr(即存

我在尝试将web流量路由到phpfpm实例时遇到问题。当我重新启动aws ec2实例时,会定期收到502个“坏网关”错误,因为phpfpm容器没有从web服务容器响应

我可以跳入php容器中,没有问题,而且一切似乎都很好,但不知何故,我无法执行telnet phpcontainer 9000——它说无法建立连接。似乎正在将服务名称的ip解析为服务网关ok。php服务只有1个副本,但web服务有2个副本(全局复制)

然后我开始检查服务和容器的所有ip地址

我注意到有两个服务具有相同的cidr(即存在问题的服务):

这正常吗

不过,所有ip地址都是唯一的(请注意,上面我说的是服务CIDR

我只是不知道是什么原因导致这1个特定的容器无法从另一个服务访问

如果我重新启动问题容器,它将在那之后工作


有什么想法吗?

我实际上了解到,这里的问题是我们通过api创建的服务规范不好。可能还有另一个bug,但是如果您创建了一个服务,并且没有指定
EndpointSpec.Mode
属性,然后,当docker守护进程重新启动时,我们得到的服务将获得重复的ip地址。

这是覆盖网络的一个错误。github问题中有相当多的报告。确保您正在运行最新版本,并搜索问题,以查看是否可以找到匹配的方案。啊,非常感谢!
docker service inspect webservice | grep Addr
                    "Addr": "10.255.0.4/16"
                    "Addr": "172.20.0.2/16"
docker service inspect phpservice23 | grep Addr
                    "Addr": "172.20.0.2/16"