我有以下设置:
- myhost1.mycompany -> www.example.com的带有A条目的dns服务器10.10.10.1
- 安装了docker daemon(20.10.5)的服务器myhost 2(debian 11)和正在运行的容器mycontainer 1
- 在myhost 2上,专用dns服务器在/etc/resolv.conf中配置,并搜索mycompany
在myhost 2上:
- nslookup myhost1 -> 10.10.10.1
- ping myhost1 -> works
- wget myhost1 -> wokrs
- wget google.com->作品
在mycontainer 1上:
- nslookup myhost1 -> 10.10.10.1
- ping myhost1 -> bad address
- wget myhost1 -> bad address
- wget google.com->作品
- cat /etc/resolv.conf ->与myhost 2上的cat /etc/resolv.conf相同的输出
所以这不是(我猜)DNS问题,因为nslookup查询在容器中工作正常,但我不明白为什么其他应用程序(如ping或wget)无法获得解析的IP。
感谢分享您的想法!
1条答案
按热度按时间xzabzqsa1#
该行为可能是由
/etc/resolv.conf
中的选项ndots:0
导致的,该选项阻止ping添加默认本地域。在这种情况下,
ping myhost1.mydomain.lan
应该可以工作,而ping myhost1
不应该(wget也是如此)。所以我建议你可以尝试将其更改为
ndots:5
。例如: