自从我在 Ubuntu 机器上安装了 docker 以来,我一直在使用它所公布的 mDNS 地址时遇到问题。
为了让我在不知道 IP 的情况下 ssh 进入我的盒子,我需要使用<hostname>.local,我需要将其解析为 eth0 接口。在我配置 docker 之前,这一直在进行。
我将 /etc/docker/daemon.json 设置为:
{
"bip": "192.168.254.1/24"
}
Run Code Online (Sandbox Code Playgroud)
我通过以下简单命令启动 docker 守护进程:sudo service docker start。我确认适当的 docker 桥(接口 docker0)和防火墙(ip 表)符合预期。我的所有服务都按预期相互通信。
当我跑步时ifconfig,我看到docker0广告192.168.254.1和eth0广告10.14.146.62。
当我ping <hostname>.local从 ubuntu 机器内 ping 时,它解析为10.14.146.62. 对于同一网络上的其他机器也是如此。
然而,一段时间(30 分钟)后,会发生以下情况:
ping <hostname>.local开始返回未知主机<hostname>解析时看到的地址)解析为 192.168.254.1.解决此问题的唯一方法(暂时)是:
<hostname>.local这让我回到了内部和外部都决心10.14.146.62一段时间的状态。
我尝试修改/etc/avahi/avahi-daemon.conf以包含以下内容,但没有任何成功的结果:
allow-interfaces=eth0
deny-interfaces=docker0
Run Code Online (Sandbox Code Playgroud)
我考虑过iptables=false在 docker 配置中进行设置,但我需要从外部访问我的服务。
在线搜索让我找到了各种解决方案,包括 docker、防火墙或 avahi 问题/配置。然而,目前还没有取得任何成功的结果。有什么建议么?
| 归档时间: |
|
| 查看次数: |
1659 次 |
| 最近记录: |