Docker网络接口干扰mDNS地址

时间:2018-01-03 14:24:59

标签: docker dns mdns

自从我在Ubuntu机器上安装了docker以来,我一直在处理它所宣传的mDNS地址问题。

为了让我在不知道ip的情况下进入我的盒子,我需要使用<hostname>.local,我需要将其解析为eth0接口。这一直在进行,直到我配置了docker。

我将/etc/docker/daemon.json设置为:

{
"bip": "192.168.254.1/24"
}

我通过以下简单命令启动docker守护程序:sudo service docker start。我确认适当的docker bridge(接口docker0)和防火墙(ip表)是预期的。我所有的服务都按预期相互通信。

当我运行ifconfig时,我看到docker0广告192.168.254.1eth0广告10.14.146.62

当我从我的ubuntu计算机中ping ping <hostname>.local时,它会解析为10.14.146.62。同一网络上的其他机器也是如此。

但是,经过一段时间(30分钟)后,会发生以下情况:

  1. ping <hostname>.local开始返回未知主机
  2. 广告地址(同一网络上其他计算机在尝试ping <hostname>时看到的地址解析为192.168.254.1
  3. 解决此问题的唯一方法(暂时)是:

    1. 停止docker守护程序
    2. 重启avahi守护程序
    3. 启动docker守护程序
    4. 这会让我回到内部和外部<hostname>.local解析为10.14.146.62一段时间的状态。

      我尝试修改/etc/avahi/avahi-daemon.conf以包含以下内容而没有任何成功的结果:

      allow-interfaces=eth0
      deny-interfaces=docker0
      

      我考虑在docker configs中设置iptables=false,但我需要从外部访问我的服务。

      在线搜索引导我找到各种解决方案,包括码头,防火墙或avahi问题/配置。但是,到目前为止还没有任何成果。有什么建议吗?

0 个答案:

没有答案