今天在其中一台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