今天在其中一台Linux 中使用Docker命令创建镜像时失败,报错提示:
Temporary failure resolving ‘archive.ubuntu.com’
典型的DNS解析问题,尝试直接在shell中执行apt-get install,一切正常,查看主机中/etc/resolv.conf,为之前手工配置的8.8.8.8,8.8.4.4。
跟踪发现在docker build过程中,DNS自动添加了一行nameserver(估计是VPS厂商提供的默认配置,或因为主机resolv.conf为手工修改所导致,具体留待后续想起了分析),但Docker build命令执行过程中,docker鸡的resolv.conf被修改为:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver xxx.xxx.xxx.xxx
快速解决方法:
修改/etc/default/docker文件,取消如下行前边的注释:
DOCKER_OPTS="–dns 8.8.8.8 –dns 8.8.4.4"
结果:
修改配置并重新启动docker服务后,docker build命令正常。
service docker restart