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

ops/2025/3/4 14:24:21/

当使用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/ops/163062.html

相关文章

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_core_module_t

ngx_core_module_t 定义在 src/core/ngx_module.h typedef struct {ngx_str_t name;void *(*create_conf)(ngx_cycle_t *cycle);char *(*init_conf)(ngx_cycle_t *cycle, void *conf); } ngx_core_module_t;ngx_core_module_t 是 Ngi…

【GraphQL API 漏洞简介】

GraphQL API 漏洞简介 一、漏洞原理与分类二、漏洞检测方法三、典型利用方式四、工具推荐防御建议 GraphQL API 因其灵活性和高效性被广泛应用,但也因设计和实现缺陷存在多种安全风险。以下从漏洞原理、检测方法及利用方式三个维度进行详细分析: 一、漏洞…

[python] 最小堆

本文通过一道例题来介绍python中的最小堆 合并K个升序链表 import heapq ListNode.__lt__ lambda a, b: a.val < b.val # 让堆可以比较节点大小 class Solution: def mergeKLists(self, lists: List[Optional[ListNode]]) -> Optional[ListNode]: cur dum…

Fiji —— 基于 imageJ 的免费且开源的图像处理软件

文章目录 一、Fiji —— 用于科学图像处理和分析1.1、工具安装&#xff08;免费&#xff09;1.2、源码下载&#xff08;免费&#xff09; 二、功能详解2.0、Fiji - ImageJ&#xff08;Web应用程序&#xff09;2.1、常用功能&#xff08;汇总&#xff09;2.2、Fiji - Plugins&am…

安卓音频框架混音器

在 Android 音频框架中&#xff0c;混音器&#xff08;Mixer&#xff09; 是 AudioFlinger 服务的核心组件之一&#xff0c;负责将多个音频流&#xff08;来自不同应用或系统组件&#xff09;混合为统一的输出流&#xff0c;再传输到音频硬件设备&#xff08;如扬声器、耳机等&…

未来该如何选择编程语言?

随着技术的飞速发展&#xff0c;编程语言的选择变得越来越重要。无论是初学者还是资深开发者&#xff0c;选择一门适合未来发展的编程语言都至关重要。以下是一些关键因素和建议&#xff0c;帮助您做出明智的选择。 --- #### 1. **明确目标和需求** - **职业方向**&#x…

7.2.1 计算机网络互连设备

文章目录 中继器集线器网桥交换机路由器网关完整导图 中继器 计算机网络互连设备包含中继器、集线器、网桥、交换机、路由器、网关&#xff0c;共6种。 中继器&#xff08;Repeater) 可用于放大信号&#xff0c;延长网络传输距离&#xff0c;连接不同传输介质的网络。中继器不对…

SCTNet: 单分支 CNN 与 Transformer 语义信息用于实时分割

&#x1f4d1; SCTNet: 单分支 CNN 与 Transformer 语义信息用于实时分割 1. 摘要翻译 近年来&#xff0c;许多实时语义分割方法采用额外的语义分支来获取丰富的长距离上下文信息。然而&#xff0c;这种额外分支带来了额外的计算开销&#xff0c;降低了推理速度。为了解决这一…