Skip to content

Latest commit

 

History

History
27 lines (18 loc) · 902 Bytes

docker_could_not_resolve_host.md

File metadata and controls

27 lines (18 loc) · 902 Bytes

在 Dockerfile 里面运行 yum install 遇到了

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

但 centos.org 其实是没有被墙的 在物理机上也能访问

这种问题就是 docker container 的 DNS 问题

在 /etc/docker/daemon.json 中加上(国内网络别用谷歌的 DNS)

"dns" : [
    "119.29.29.29",
    "114.114.114.114"
]

然后 sudo systemctl restart docker 就能用了

如果本机发生过 OpenVPN 网络切换,需要 restart docker 才能让 container 网络访问正常

UPDATE: 后记,curl error 6 也可能是 docker 低版本(<=19)的 bug 导致报错, strace 下就看到就不是 DNS 报错而是 clone3 系统调用报错