docker中parsingdns速度缓慢或超时

在主机上,查找域非常快。 但是在docker集装箱内,这是很多的
较慢,有时超时。

主机是虚拟主机,它的dns服务器地址是127.0.0.1(奇怪,但是是真的)。 所以我试着修改容器里面的/etc/resolv.conf,把dns服务器设置为172.x(主机的地址)。 结果,我没有看到什么好的效果。

我也尝试将容器的dns服务器设置为自build的(101.x),但是,查找域名仍然很慢。 另一个奇怪的是,101.x是非常快。

我对这种现象感到困惑,任何人都可以解释和帮助?

我不知道为什么在容器中parsingDNS缓慢,但我有我遵循的程序,以解决docker容器中的DNS。

validationDNSparsing问题:

# docker run busybox nslookup google.com Server: 8.8.8.8 Address 1: 8.8.8.8 nslookup: can't resolve 'google.com' 

找出您的机器中使用的DNS服务器

 # nm-tool |grep DNS DNS: 172.24.100.50 DNS: 10.1.100.50 

再次使用DNS解决DNS问题的步骤中的DNS IP运行它:

 # docker run --dns 172.24.100.50 busybox nslookup google.com Server: 172.24.100.50 Address 1: 172.24.100.50 indc01.radisys.com Name: google.com Address 1: 2607:f8b0:4009:80c::200e ord36s01-in-x0e.1e100.net Address 2: 172.217.4.110 ord36s04-in-f14.1e100.net 

要解决这个问题,请永久将以下内容添加到新文件中:

 root@labadmin-VirtualBox:/home/labadmin# cat /etc/docker/daemon.json { "dns" : ["172.24.100.50", "8.8.8.8"] } 

有关Docker DNSconfiguration的更多信息。

重新启动docker服务并再次validation它:

 # docker run busybox nslookup google.com Server: 172.24.100.50 Address 1: 172.24.100.50 indc01.radisys.com Name: google.com Address 1: 2607:f8b0:4009:801::200e ord30s31-in-x0e.1e100.net Address 2: 172.217.4.238 ord30s31-in-f14.1e100.net 

通过运行容器来检查它:

 # docker run -it e02e811dd08f / # ping google.com PING google.com (172.217.4.238): 56 data bytes 64 bytes from 172.217.4.238: seq=0 ttl=47 time=251.506 ms 64 bytes from 172.217.4.238: seq=1 ttl=47 time=245.621 ms 

希望这可以帮助。