构建Docker镜像时遇DNS连接拒绝错误,求助解决方法
解决Docker镜像构建时的DNS连接拒绝问题
这个错误是Docker无法通过本地DNS服务器解析registry-1.docker.io导致的,以下是几种可行的解决方案:
临时修复(即时生效,重启Docker后失效)
- 构建镜像时直接指定公共DNS服务器:
docker build --dns 8.8.8.8 --dns 114.114.114.114 -t 你的镜像标签 . - 如果是运行容器时出现类似问题,也可以指定DNS启动:
docker run --dns 8.8.8.8 --dns 114.114.114.114 你的镜像名
永久配置(重启Docker后依然生效)
- 创建或编辑Docker守护进程配置文件:
vi /etc/docker/daemon.json - 写入DNS服务器配置(可选择国内或国外的公共DNS):
{ "dns": ["8.8.8.8", "114.114.114.114"] } - 重新加载配置并重启Docker:
systemctl daemon-reload systemctl restart docker
额外排查点
- 执行
nslookup registry-1.docker.io检查本地DNS是否能正常解析地址,若失败,可先修改本地/etc/resolv.conf文件,添加nameserver 8.8.8.8临时修复本地DNS - 检查防火墙规则,确认UDP 53端口(DNS服务端口)没有被拦截
- 测试公网连通性:执行
ping 8.8.8.8,如果无法ping通,优先排查网络连接问题
内容的提问来源于stack exchange,提问作者Aavula Saikiran
相关产品推荐
相关产品推荐

