Docker Swarm 覆盖网络 - 容器无法通信
Docker Swarm overlay network - containers can’t communicate
Tl;dr: Docker 使用覆盖网络的 swarm 容器无法互相 ping 通
我正在尝试创建一个 swarm,其中包括我的桌面(Windows 和 Docker 桌面)和一个 Ubuntu 虚拟机(Swarm 管理器,在我的台式电脑上)。
创建群并加入群工作正常。我着手创建一个可附加的覆盖网络,它应该使用覆盖驱动程序跨越我的所有节点。我创建了一个随机的 nginx 服务,使用全局模式和我的覆盖网络使网络在我的所有节点上都可用。
为了测试连通性,我创建了两个 ubuntu 容器(一个在 Ubuntu 上,一个在我的 Windows 上)并将它们加入网络。问题是容器无法 ping eachother.I 也在我的 Windows 和 Ubuntu 虚拟机上打开了 swarm 所需的端口(2376、2377、7946、4789)。
Docker Linux 的版本:
Version: 19.03.6
API version: 1.40
Go version: go1.12.16
Docker Windows 的版本:
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
你知道我如何建立连接吗?
发现你的问题,因为我处于类似的情况。
文档指出覆盖网络默认情况下是加密的,您不应尝试将 Windows 个节点附加到加密网络:
Do not attach Windows nodes to encrypted overlay networks.
Overlay network encryption is not supported on Windows. If a Windows node attempts to connect to an encrypted overlay network, no error is detected but the node cannot communicate.
https://docs.docker.com/network/overlay/#encrypt-traffic-on-an-overlay-network
Tl;dr: Docker 使用覆盖网络的 swarm 容器无法互相 ping 通
我正在尝试创建一个 swarm,其中包括我的桌面(Windows 和 Docker 桌面)和一个 Ubuntu 虚拟机(Swarm 管理器,在我的台式电脑上)。
创建群并加入群工作正常。我着手创建一个可附加的覆盖网络,它应该使用覆盖驱动程序跨越我的所有节点。我创建了一个随机的 nginx 服务,使用全局模式和我的覆盖网络使网络在我的所有节点上都可用。
为了测试连通性,我创建了两个 ubuntu 容器(一个在 Ubuntu 上,一个在我的 Windows 上)并将它们加入网络。问题是容器无法 ping eachother.I 也在我的 Windows 和 Ubuntu 虚拟机上打开了 swarm 所需的端口(2376、2377、7946、4789)。
Docker Linux 的版本:
Version: 19.03.6
API version: 1.40
Go version: go1.12.16
Docker Windows 的版本:
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
你知道我如何建立连接吗?
发现你的问题,因为我处于类似的情况。
文档指出覆盖网络默认情况下是加密的,您不应尝试将 Windows 个节点附加到加密网络:
Do not attach Windows nodes to encrypted overlay networks.
Overlay network encryption is not supported on Windows. If a Windows node attempts to connect to an encrypted overlay network, no error is detected but the node cannot communicate.
https://docs.docker.com/network/overlay/#encrypt-traffic-on-an-overlay-network