【发布时间】:2017-10-11 12:03:57
【问题描述】:
我们在 docker-swarm 中遇到了网络问题。问题如下;
- 我们已经通过 wmware (vsphere 6.02) 实现了虚拟化环境
- 我们的服务器是从 vmware 创建的,比如 server1 和 server2
- 我们有一个 docker compose 文件定义了几个服务
- 我们在 docker-compose 中为 docker-swarm 定义了一个覆盖网络
- 当我们使用 docker-swarm 部署系统成功完成后,所有容器都从覆盖网络范围获取 ip。
- 但问题是,如果将 2 个容器(例如 cnt1 和 cnt2)部署到不同的服务器,它们就无法相互 ping 通
- 我检查了 tcpdump,发现 ARP 通信成功,所以他们正确认识彼此的 mac
- 但是当您尝试 ping 到容器时,ICMP Echo 消息会发送但不会传递到第二台机器。..
我应该在哪里检查,有什么建议吗?
server-1:~$ docker version
Client:
Version: 17.03.0-ce
API version: 1.26
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 08:01:32 2017
OS/Arch: linux/amd64
Server:
Version: 17.03.0-ce
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 08:01:32 2017
OS/Arch: linux/amd64
Experimental: true
ps:我检查了this post,但我有最新版本的 docker / docker-swarm,所以问题应该得到修复..
ps-2:类似的问题; https://github.com/docker/swarm/issues/2687
【问题讨论】:
标签: networking docker vmware docker-swarm