解决Docker拉取镜像超时错误,docker: Error response from daemon:

devtools/2025/3/4 23:56:47/

当使用docker pulldocker run时遇到net/http: request canceled while waiting for connection的报错,说明Docker客户端在访问Docker Hub时出现网络连接问题。可以不用挂加速器也能解决,linux不好用clash。以下是经过验证的方法(感谢轩辕镜像)


故障现象

执行Docker命令时提示:

docker: 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)

错误根源分析

  1. 网络访问限制
    Docker Hub(registry-1.docker.io)位于海外服务器,部分地区/网络环境可能受限制

  2. DNS解析失败
    默认域名解析服务无法正确解析Docker仓库地址

  3. 长距离网络延迟
    跨国网络传输容易导致连接超时(默认Docker客户端超时时间为30秒)


解决方案:配置镜像加速器

步骤一:设置Registry Mirror

# 创建/修改配置文件(注意备份原文件)
sudo vim /etc/docker/daemon.json# 录入以下内容(关键配置)
{"registry-mirrors": ["https://docker.1ms.run","https://docker.xuanyuan.me",]
}

(操作前建议通过curl -I https://docker.xuanyuan.me/v2/验证镜像地址可达性)

步骤二:应用配置并重启服务

# 重载守护进程配置
sudo systemctl daemon-reload# 完全重启docker服务
sudo systemctl restart docker# 验证配置生效
docker info | grep "Registry Mirrors" -A 2

测试优化技巧

1 网络诊断命令

# 查看容器网络路由
docker run --rm alpine ping -c 4 docker.com# DNS检测
docker run --rm busybox nslookup registry-1.docker.io

常见问题排查

  1. 配置文件格式错误
    JSON格式错误会导致Docker启动失败,可通过sudo journalctl -u docker.service查看日志

  2. 镜像源认证需求
    部分镜像源(如阿里云镜像)需注册后获取专属加速地址

  3. 持续超时问题

    # 检查防火墙规则
    sudo iptables -L -n# 尝试指定IPv4强制访问
    echo '{"ipv6": false}' | sudo tee /etc/docker/daemon.json
    

配置示意图

默认请求
镜像加速路径
命中缓存
未命中
Docker Client
Docker Hub
Registry Mirror
镜像缓存检查
快速返回镜像
从Docker Hub同步

http://www.ppmy.cn/devtools/164595.html

相关文章

Word快速替换修改学术论文所有中的中括号引用未上标格式

问题 如图是平时使用Word写完论文时候交叉引用的引用序号,由中括号和引用序号构成,如果不想手动修改使其上标,那么可以使用正则表达式来进行快速匹配替换使其上标,从而减少时间浪费,且能够保持交叉引用的跳转功能&…

陕西省地标-DB61/T 1121-2018 政务服务中心建设和运营规范

揭秘陕西省智慧政务服务中心新标准:打造高效便捷的服务新体验 随着信息化时代的深入发展,智慧政务已成为提升政府服务效率、优化营商环境的重要举措。陕西省作为全国政务改革的先行者,近期颁布了《陕西省地标-DB61_T 1121-2018 政务服务中心…

<el-cascader时只取最后一级数据

在用cascader时只取最后一级数据传给后端 组件的属性emitPath: false就可以做到&#xff0c;取值就是最后一级传给后端。并且后端放回的id 也直接可以做回显 <el-cascaderv-model"Type":options"Options":props"{ value: id, label: label, chil…

Java——通配符以及上下限

在 Java 泛型中&#xff0c;通配符 ? 用于表示未知类型&#xff0c;通常用于增强泛型的灵活性。通配符可以与 上限 和 下限 结合使用&#xff0c;进一步限制类型的范围。以下是通配符及其上下限的详细介绍&#xff1a; 一、通配符 ? 的基本用法 通配符 ? 表示未知类型&…

I2C总线详细介绍

目录 I2C 总线介绍1. I2C 的原理(1) 双线通信(2) 主从结构(3) 多设备通信(4) 硬件连接 2. I2C 的特性(1) 双向通信(2) 多主设备(3) 速度支持(4) 硬件简单(5) 地址区分 3. I2C 的协议(1) 起始条件&#xff08;Start Condition&#xff09;(2) 地址传输(3) 数据传输(4) 应答信号&…

Vue前端开发-Vant之Signature 组件

Signature组件用于页面的手写签名&#xff0c;它的功能基于Canvas实现&#xff0c;Vant版本必须大于或等于4.3.0才能使用该组件&#xff0c;当完成签名并触发绑定的submit事件后&#xff0c;在事件中&#xff0c;可以获取格式为base64字符串的签名图片&#xff0c;用于保存签名…

如何使用 preg_replace 处理复杂字符串替换

如何使用 preg_replace 处理复杂字符串替换 在 PHP 开发中&#xff0c;preg_replace 是处理正则表达式替换的核心函数&#xff0c;尤其适用于涉及模式匹配、动态替换和多规则处理的复杂场景。本文将通过实际案例和进阶技巧&#xff0c;解析如何高效利用该函数完成复杂字符串操…

ArcGIS操作:08 计算shp面积并添加到属性表

1、打开属性表 注意&#xff1a;计算面积前&#xff0c;需要把shp的坐标系转化为投影坐标系&#xff08;地理坐标系用于定位、投影坐标系用于测量&#xff09; 2、创建字段 3、编辑字段名、类型 4、选择字段&#xff0c;计算几何 5、选择属性、坐标系、单位