我在Fedora 34 (=主机系统),我在我的码头集装箱内有一个问题,没有解决任何领域。在主机分辨率上工作没有问题。
以下是我尝试过的:
但是,我无法在任何容器中解析名称:
~ docker run busybox nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8:53
Non-authoritative answer:
Name: google.com
Address: 142.251.36.174
*** Can't find google.com: No answer如前所述,它在主机上工作:
~ nslookup google.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: google.com
Address: 142.251.36.206
Name: google.com
Address: 2a00:1450:4016:809::200e更奇怪的是,即使在主机网络中运行或显式设置dns也没有帮助:
尝试用主机dns设置(这里甚至说超时.)
~ docker run --dns 127.0.0.53 busybox nslookup google.com
;; connection timed out; no servers could be reached尝试与谷歌dns:
~ docker run --dns 8.8.8.8 busybox nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8:53
Non-authoritative answer:
Name: google.com
Address: 142.251.36.238
*** Can't find google.com: No answer尝试与主机网络:
~ docker run --network="host" busybox nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8:53
Non-authoritative answer:
Name: google.com
Address: 142.251.36.238
*** Can't find google.com: No answer我没有ideas..anyone的提示了,这是怎么回事?
附加信息:它曾经起作用,我没有改变我的系统上的任何东西,因为我记得这可能会对此产生影响。
发布于 2021-10-27 08:22:03
您能否尝试使用指定的DNS服务器运行nslookup命令?例如:nslookup google.com 8.8.8.8,或者在您的例子中是:docker run busybox nslookup google.com 8.8.8.8。这将有助于我们消除码头桥中可能出现的网络问题。
发布于 2021-10-27 09:19:29
但是你得到了答案,Non-authoritative answer:后面的2行是结果(142.251.36.238是Google的有效IP地址)。
你没有得到的是一个IPv6的答案的东西的外观。
你可以跑:
docker run busybox nslookup -type=A google.com它应该只返回IP地址而不出现错误。
我怀疑在busybox中nslookup的默认行为可能已经更改为同时返回IPv4和IPv6地址,这就是为什么这看起来已经改变了。
发布于 2021-11-30 15:33:55
对于那些在阿尔卑斯Linux上有同样问题的人来说,这确实是一个已知的IPv6记录的busybox >1.28的错误。解决办法是安装bind-tools以获得另一个nslookup二进制文件:
apk update && apk add bind-toolshttps://serverfault.com/questions/1081791
复制相似问题