【问题标题】:Docker Swarm - Network Overlay not connecting all containersDocker Swarm - 网络覆盖未连接所有容器
【发布时间】:2015-12-19 21:27:38
【问题描述】:

我目前使用 Docker Swarm 和 Consul 设置了 3 个 EC2 实例。我有 3 个简单的节点应用程序分布在所有 3 个实例中,然后在我的 swarm master 上使用 nginx 进行路由。

使用Overlay Networks 的指南,我创建了一个名为mynet 的新叠加层,并将每个容器都连接到该网络。使用docker inspect我可以确认每个节点容器和nginx容器都连接到mynet并且有一个IP。但是,在 ssh 到我的 nginx 容器后,它只能通过网络与位于同一主机上的节点应用程序通信,而不能与集群中其他主机上的节点应用程序通信。

运行docker network inspect mynet 后,只列出了我的两个容器(nginx 和一个节点实例在同一主机上),而其他两个没有列出,即使它们有名称和 IP来自docker inspect的覆盖网络。

这个想法是使用nginx reverse proxy 将任何上线的新容器添加到它的配置中,但我一直坚持让容器全部连接。根据Docker networking docs for overlay,这应该是可能的。

我做错了什么?谢谢。

编辑:

在向docker network inspect mynet 发送几次垃圾邮件后,看起来容器不断地与网络连接和断开连接,即使我已关闭所有防火墙并打开端口以进行测试。什么会导致这样的事情?

【问题讨论】:

    标签: networking amazon-ec2 docker docker-swarm


    【解决方案1】:

    原来有两个问题导致了我的问题。

    一个是我使用的是docker network overlay 不支持的内核 3.13。升级到 3.16 解决了这个问题。其次是 Swarm 1.0.1 中有一个错误,它可以正确地聚合网络信息。它已修复 here,但截至撰写本文时尚未发布。

    【讨论】:

      猜你喜欢
      • 2019-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-20
      • 2019-07-22
      相关资源
      最近更新 更多