Docker覆盖网络不会清除已删除的容器

时间:2016-09-04 21:44:47

标签: networking nginx docker

我们在两台主机上运行Docker,启用并配置了覆盖网络。它是版本1.12.1,Consul作为KV商店 - 但我们并没有使用Swarm,主要是因为我们没有觉得它给了我们相关的控制权来确保可用性和最小化资源,但是反正。

我们的设置是基于微服务的,我们运行了相当多的容器,这些容器经常重启。我们的模型使用nginx作为反向代理"对于服务发现,由于各种原因,所以我们启动多个容器,这些容器共享 - " nginx-lb"的主机。这工作正常,网络上的其他容器可以连接到nginx-lb,这给了他们随机的一个容器' IP地址。

我们遇到的问题是,在杀死容器和创建新容器时,有时候(我不知道发生了什么特定情况),覆盖网络不会从系统中删除旧容器,所以其他容器然后尝试连接到死亡容器,导致问题。

解决此问题的唯一方法是手动调用docker network disconnect -f overlay_net [container],已经运行docker network inspect overlay_net来查找错误的容器。

重叠网络是否存在已知问题,无法从KV数据中移除死容器,还是修复了任何想法?

1 个答案:

答案 0 :(得分:1)

是的,这是一个已知问题。点击此处https://github.com/docker/docker/issues/26244