Docker镜像构建失败:连接registry-1.docker.io超时,寻求解决方法
解决Docker拉取镜像超时(Client.Timeout exceeded)的方法
检查网络连通性
先确认本地网络能正常访问外网,执行以下命令测试Docker Hub的连通性:curl https://registry-1.docker.io/v2/如果无法访问,先修复网络问题(比如切换稳定的WiFi、检查路由器设置)。
配置国内镜像加速源
国内直连Docker Hub速度普遍较慢,替换为国内加速源能有效解决超时:- 编辑Docker配置文件(Linux/WSL路径为
/etc/docker/daemon.json,Windows可在~/.docker/daemon.json),不存在则新建文件:{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com", "https://docker.mirrors.ustc.edu.cn" ] } - 重启Docker服务使配置生效:
Linux/WSL环境:
Windows(PowerShell管理员模式):sudo systemctl daemon-reload sudo systemctl restart dockerRestart-Service Docker
- 编辑Docker配置文件(Linux/WSL路径为
延长Docker超时时间
若网络本身速率较慢,可调整Docker的超时参数:
在daemon.json中添加超时配置(可根据实际情况调整数值):{ "registry-mirrors": ["你的加速源地址"], "timeout": 300 }保存后重启Docker服务。
检查并配置代理
如果本地使用代理上网,需确保Docker同步了代理设置:
在daemon.json中添加代理配置:{ "proxies": { "default": { "httpProxy": "http://代理地址:端口", "httpsProxy": "http://代理地址:端口", "noProxy": "localhost,127.0.0.1" } } }配置完成后重启Docker。
清理Docker缓存
残留的缓存可能导致异常,清理后重新尝试构建:docker system prune -a注意:该命令会删除未使用的镜像、容器、卷等,确认后再执行。
内容的提问来源于stack exchange,提问作者Ashwani
相关产品推荐
相关产品推荐

