【发布时间】:2016-09-04 21:44:46
【问题描述】:
我们在两台主机上运行 Docker,并启用并配置了覆盖网络。它是 1.12.1 版本,Consul 作为 KV 存储 - 但我们没有使用 Swarm,主要是因为我们认为它没有给我们提供确保可用性和最小化资源的相关控制权,但无论如何。
我们的设置是基于微服务的,并且我们运行了相当多的容器,这些容器相当频繁地重新启动。由于各种原因,我们的模型使用 nginx 作为服务发现的“反向代理”,因此我们启动了多个容器,它们共享一个 --host 为“nginx-lb”。这工作正常,网络上的其他容器可以连接到 nginx-lb,这会给它们一个随机的容器 IP 地址。
我们遇到的问题是,在杀死容器和创建新容器时,有时(我不知道这是在什么具体情况下发生的),覆盖网络不会从系统中删除旧容器,所以其他容器然后尝试连接死机,导致问题。
解决此问题的唯一方法是手动调用docker network disconnect -f overlay_net [container],已经运行docker network inspect overlay_net 来查找错误容器。
是否存在覆盖网络无法从 KV 数据中删除死容器的已知问题,或者有任何修复的想法?
【问题讨论】:
标签: networking nginx docker