Docker多主机容器间ping不通的问题

之前记录过一个因为内核版本过低导致Docker overlay网络不通的问题。后来又遇到一个由于粗心导致的网络不通的问题。

问题的现象是这样的,创建了overlay网络后,同一台主机上的容器间可以ping通。而不同主机上的容器ping的结果是:

1
2
3
4
PING zookeeper (10.0.0.3) 56(84) bytes of data.
From 85789ac6e6a8 (10.0.0.8) icmp_seq=1 Destination Host Unreachable
From 85789ac6e6a8 (10.0.0.8) icmp_seq=2 Destination Host Unreachable
From 85789ac6e6a8 (10.0.0.8) icmp_seq=3 Destination Host Unreachable

Google一通之后,未找到满意答案,觉得很是奇怪,灵光一现查看 etcd 上的节点:

1
etcdctl ls /docker/nodes

发现只有一个:

1
/docker/nodes/10.208.10.14:2375

后来想起来了原来在启动docker的时候,使用的命令忘了改 –cluster-advertise

–cluster-advertise:告知集群当前的连接地址

1
sudo /usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store=etcd://10.208.10.14:2379 --cluster-advertise=当前host:2375 & 

Docker多主机容器间ping不通的问题

https://jingzhouzhao.github.io/archives/d7132b2f.html

作者

太阳当空赵先生

发布于

2019-08-28

更新于

2022-02-22

许可协议

评论