解决docker容器中” Could not resolve host”

写在前面

在docke容器中执行apt-get update出现了一些系列错误,

解决

1
$ docker run busybox nslookup google.com

如果出现了如下内容

1
2
3
nslookup: can't resolve 'google.com'   
(Server: 8.8.8.8
Address 1: 8.8.8.8)

那么我们遇到的问题应该是相同的。


执行

1
$ nmcli dev show | grep 'IP4.DNS'

出现

1
2
IP4.DNS[1]:              x.x.x.x
IP4.DNS[2]: x.x.x.x

/etc/docker目录下创建文件daemon.json

1
2
3
4
5
6
7
8
sudo vi daemon.json

## 此处的dns是填写你前面查询出来的
## 有几个写几个

{
"dns": ["x.x.x.x", "x.x.x.x"]
}

重启docker

1
sudo service docker restart

最后,检验一下

1
2
3
4
5
6
$ docker run busybox nslookup google.com
Server: x.x.x.x
Address 1: x.x.x.x
Name: google.com
Address 1: 2a00:1450:4009:811::200e lhr26s02-in-x200e.1e100.net
Address 2: 216.58.198.174 lhr25s10-in-f14.1e100.net

大致出现如上信息,即可。


参考

Docker build “Could not resolve ‘archive.ubuntu.com’” apt-get fails to install anything

关注我的微信公众号[李一二],即时看更多的文章