2个具有相同CIDR的服务

我有一个问题,我试图将networkingstream量路由到一个phpfpm实例。 定期地,当我重新启动我的aws ec2实例时,由于phpfpm容器没有响应web服务容器,我得到了502'坏的网关'错误。

我可以跳进PHP容器没有问题,一切似乎都很好,但不知何故,我不能做telnet phpcontainer 9000 – 它说连接无法build立。 似乎是解决服务名称的IP到服务网关好吧。 php服务只有1个副本,但Web服务有2个副本(全局复制)。

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

我注意到,2服务有相同的cidr(与问题的服务):

 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" 

这是正常的吗?

所有的IP地址是独一无二的(注意上面我正在谈论服务中心

我只是无法弄清楚是什么导致这个特定的容器无法从其他服务访问。

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

有任何想法吗?

我实际上知道这里的问题是我们通过api创build了一个坏规格的服务。 可能还有另外一个bug,但是如果你创build了一个服务,并且不指定EndpointSpec.Mode属性,那么当docker守护进程重启时,我们得到的服务会得到重复的ip地址。