创建docker swarm是否需要开放2377、7946、4789端口?

mor*_*eus 4 docker docker-swarm

根据这个链接:

以下端口必须可用。在某些系统上,这些端口默认打开。

TCP 端口 2377,用于集群管理通信 TCP 和 UDP 端口 7946,用于节点之间的通信 UDP 端口 4789,用于覆盖网络流量 如果您计划创建加密的覆盖网络 (--opt crypto),则还需要确保 ip 协议 50 (ESP ) 允许通行

但我能够创建一个群并将节点加入其中,而无需打开上述端口,并且我认为它们在我的网络上默认情况下并未打开。所以我想了解上述文档是否不正确?

siddjain@goldenrwr-ca0:~$ docker node ls
ID                            HOSTNAME             STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
ub40pn2najtvkcnhewoilqboi *   goldenrwr-ca0        Ready               Active              Leader              18.06.1-ce
quyiss2gl6036x6z4znagr6zl     goldenrwr-orderer0   Ready               Active                                  18.06.1-ce
y2kqrqoeaipjkflmyg1xq1pvu     goldenrwr-peer0      Ready               Active                                  18.06.1-ce
2hnhwb06dkbhlilpcuqnnbboc     goldenrwr-peer1      Ready               Active                                  18.06.1-ce
Run Code Online (Sandbox Code Playgroud)

BMi*_*tch 6

2377/tcp 必须在节点之间打开(这并不意味着对外部流量开放)才能达到这一点。如果您遇到覆盖网络问题,例如容器无法相互连接,或者仅当您访问容器恰好运行的同一节点时才能访问入口发布端口,那么问题很可能是其他端口无法连接开放。

  • 节点之间需要打开端口。如果您没有打开它们,则它们已经打开,或者没有管理员在节点之间配置防火墙。 (2认同)