Docker-Swarm:从另一个子网加入docker-swarm

时间:2017-11-19 13:20:18

标签: docker docker-swarm subnet

我在同一子网中有4个虚拟机,它们是docker-swarm的一部分。 现在我想连接另一个节点(虚拟机),它位于不同的国家(不是同一个子网)。 我是一个IP菜鸟,我很难在docker中设置一个覆盖网络,它可以处理这个连接。

通过设置这种docker-swarm,我需要记住哪些方面?

1 个答案:

答案 0 :(得分:1)

您需要在群集节点之间打开以下端口:

  • 2377 / tcp:Swarm模式api
  • 7946 / both:覆盖网络控制
  • 4789 / udp:覆盖网络数据
  • 用于覆盖网络的ipsec(安全选项)的协议50

可以使用以下iptables命令(您可能希望将源主机限制为仅限其他docker swarm节点):

iptables -A INPUT -p tcp -m tcp --dport 2377 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 7946 -j ACCEPT
iptables -A INPUT -p tcp -m udp --dport 7946 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 4789 -j ACCEPT
iptables -A INPUT -p 50 -j ACCEPT

如果它们具有限制性主机防火墙,并且在保护子网的网络防火墙上,则需要在所有群集节点上进行配置。