我在 Fedora 34(= 主机系统)上,我的 docker 容器中有问题,无法解析任何域。在主机分辨率上没有问题。
这是我尝试过的:
- 重启并重新安装docker
- 禁用防火墙
- 重启机器
- 重启dns
- 不同的码头工人图像
- 在 docker 中明确设置 dns(见下文)
- 在 docker 中使用网络模式(见下文)
- 禁用 ipv6
但是,我无法在任何容器中解析名称:
~ 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
我没有想法了..任何人都有提示,这里发生了什么?
附加信息:它曾经可以工作,据我所知,我没有更改系统上的任何内容,这可能会对此产生影响。