docker pull {镜像}的时候报错:Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting

本文介绍了解决Docker从国外镜像源拉取镜像时出现超时错误的方法,包括修改配置文件指向国内镜像源和通过hosts文件指定镜像服务器地址,有效提高镜像拉取速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.错误信息:

Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

或者:Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout

2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里云镜像)

3.1方法一:vim /etc/docker/daemon.json 增加镜像地址

{
 "registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]
}

只需要在daemon.json文件中添加上述代码即可

3.2重启docker服务

systemctl restart docker.service

4.方法二:命令行输入:dig @114.114.114.114 registry-1.docker.io

4.2.选择一个可用的地址,加入到hosts文件中:

vim /etc/hosts

4.3.保存退出,重启docker服务:

重新pull镜像:

镜像拉取成功

### 解决 Docker 连接镜像仓库时遇到的超时问题 当面对 `docker registry connection timeout` 错误时,通常是因为网络配置不当或服务器响应缓慢所引起。以下是几种有效的解决方案: #### 修改 `/etc/docker/daemon.json` 对于 Linux 用户而言,在 `/etc/docker/daemon.json` 文件中加入特定设置可以改善这一状况。具体来说,可以通过调整 DNS 设置来优化连接性能[^1]。 ```json { "dns": ["8.8.8.8", "8.8.4.4"] } ``` 此操作旨在指定 Google 的公共 DNS 作为首选项,从而绕过可能存在的本地解析器问题。 #### 配置 Docker Desktop 网络选项(适用于 Windows 和 Mac) 针对使用 Docker Desktop 的用户,可以在应用程序内部更改网络参数而不必手动编辑配置文件。进入 Settings -> Resources -> Network 并勾选 Use the WSL 2 based engine (如果适用),这有助于提高稳定性并减少超时发生的可能性[^2]。 #### 调整客户端请求超时时限 有时增加默认等待时间也能解决问题。通过环境变量控制命令行工具的行为是一个不错的选择。例如,在执行构建之前临时增大超时值: ```bash export DOCKER_CLIENT_TIMEOUT=300 export COMPOSE_HTTP_TIMEOUT=300 ``` 上述指令分别设置了最大允许时间为 300 秒,即五分钟[^3]。 #### 自定义本地私有仓库地址 如果条件允许的话,建立自己的私有注册中心也是一种可行的方法。这样不仅可以避开官方源可能出现的服务中断情况,还能更好地管理团队内的资源访问权限。完成搭建之后记得更新本机的信任证书以及相应的推送路径[^4]。 #### 检查防火墙和其他安全软件的影响 最后但同样重要的是,确认是否有任何网络安全策略阻止了正常的通信过程。关闭不必要的防护措施或将必要的端口列入白名单列表内可能会有所帮助。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值