无法通过覆盖网络在2个节点之间正确通信

时间:2018-07-21 14:39:37

标签: docker docker-swarm

大家好,

我发现Docker Swarm,并且正在努力在覆盖网络中部署服务(并使之正常工作)。 我正在将docker stack deploy -c config.yml studio与该简单撰写文件

一起使用
version: "3.4"
services:
  redis:
    image: redis
  db:
    image: postgres
networks:
  default:
    attachable: true
    driver: overlay
    internal: false

这些服务已经很好地部署在我的2个节点上(每个节点上有1个服务),但是奇怪的事情现在开始了。 我在管理器上运行watch -n 1 docker network inspect studio_default以获取我的网络的实时状态,我注意到在Peers字段中,工作程序节点随机出现和消失,因此部署在该节点上的服务是< em>“随机可用/可访问” 。 为什么节点将自己与网络断开连接(并重新连接)?

当节点出现在Peers中时,我可以从管理器容器ping到工作者,但是我想我什至不能从工作者ping到经理...

我迷路了

1 个答案:

答案 0 :(得分:0)

您应确保在节点之间打开端口2377 / tcp,7946 / tcp,7946 / udp和4789 / udp。参见Open protocols and ports between the hosts