使用国内镜像加速器解决 Docker Hub 拉取镜像慢或被屏蔽的问题
一、问题背景
Docker Hub 是 Docker 默认的镜像仓库,但由于网络限制,国内用户直接拉取镜像可能面临以下问题:
- 下载速度极慢(尤其是大镜像)。
- 连接超时或完全被屏蔽(部分网络环境)。
- 依赖国外源的构建步骤失败(如
apt-get、pip等)。
解决方案:使用国内镜像加速器,将 Docker 请求代理到国内服务器,提升下载速度并避免网络限制。
二、主流国内镜像加速器列表
| 服务商 | 加速器地址 | 备注 |
|---|---|---|
| 阿里云 | https://<你的ID>.mirror.aliyuncs.com | 需注册阿里云账号,免费获取个人专属加速地址。 |
| 腾讯云 | https://mirror.ccs.tencentyun.com | 无需登录,直接使用。 |
| 网易云 | https://hub-mirror.c.163.com | 公开可用,稳定性较高。 |
| 中科大源 | https://docker.mirrors.ustc.edu.cn | 学术机构维护,适合教育网用户。 |
三、配置镜像加速器的详细步骤
1. 阿里云镜像加速器配置(推荐)
步骤 1:获取阿里云加速器地址
- 访问 阿里云容器镜像服务控制台。
- 登录阿里云账号,进入「镜像工具」→「镜像加速器」。
- 复制专属加速器地址(形如
https://xxxxxx.mirror.aliyuncs.com)。
步骤 2:配置 Docker 使用加速器
-
Linux 系统(Ubuntu/CentOS 等):
- 编辑 Docker 配置文件:
sudo vim /etc/docker/daemon.json - 添加以下内容(若文件不存在则新建):
{"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] } - 重启 Docker 服务:
sudo systemctl daemon-reload sudo systemctl restart docker
- 编辑 Docker 配置文件:
-
Windows/macOS(Docker Desktop):
- 右键点击 Docker 托盘图标 → Settings → Docker Engine。
- 在配置文件中添加
registry-mirrors字段:{"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"],"experimental": false } - 点击 Apply & Restart 重启 Docker。
2. 其他镜像加速器配置(如腾讯云、网易云)
- 方法同上,只需替换
registry-mirrors地址:{"registry-mirrors": ["https://mirror.ccs.tencentyun.com", "https://hub-mirror.c.163.com"] }
四、验证镜像加速器是否生效
-
查看 Docker 配置:
docker info | grep "Registry Mirrors"输出应包含配置的镜像加速器地址:
Registry Mirrors:https://xxxxxx.mirror.aliyuncs.com/ -
拉取镜像测试速度:
docker pull ubuntu:22.04观察下载速度,正常情况应显著快于未配置加速器时。
五、进阶优化:替换 Dockerfile 中的包管理源
镜像加速器仅代理 Docker Hub 的镜像拉取,若构建镜像时需要从 apt、pip 等工具下载依赖,仍需替换为国内源。
1. 在 Dockerfile 中替换 APT 源(Ubuntu)
FROM ubuntu:22.04# 替换为阿里云 APT 源
RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \&& sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \&& apt-get update
2. 在 Dockerfile 中替换 PIP 源(Python)
FROM python:3.9-slim# 替换为清华 PyPI 源
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
3. 在 Dockerfile 中替换 NPM 源(Node.js)
FROM node:16# 替换为淘宝 NPM 源
RUN npm config set registry https://registry.npmmirror.com
六、常见问题与解决方案
| 问题现象 | 原因与解决方案 |
|---|---|
| 配置后无法启动 Docker | 检查 /etc/docker/daemon.json 格式是否正确(JSON 语法)。 |
| 镜像拉取速度仍慢 | 尝试更换其他镜像加速器地址(如腾讯云、网易云)。 |
docker pull 报错 TLS handshake timeout | 网络不稳定,检查防火墙或 VPN 设置,或使用 --network host 临时绕过限制。 |
| 部分镜像无法拉取 | 某些镜像可能不在加速器缓存中,尝试直接指定官方地址:docker pull docker.io/library/ubuntu:22.04。 |
七、替代方案:使用私有镜像仓库
如果镜像加速器仍不稳定,可自建私有仓库(如 Harbor)或使用企业级服务。
1. 搭建 Harbor 私有仓库
- 下载并安装 Harbor:
wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz tar -xzf harbor-offline-installer-v2.5.0.tgz cd harbor - 修改
harbor.yml配置:hostname: your-local-ip # 本地服务器 IP 或域名 http:port: 80 - 启动 Harbor:
sudo ./install.sh
2. 推送镜像到 Harbor
docker tag ubuntu:22.04 your-local-ip/library/ubuntu:22.04
docker push your-local-ip/library/ubuntu:22.04
3. 从 Harbor 拉取镜像
docker pull your-local-ip/library/ubuntu:22.04
八、总结
通过配置国内镜像加速器,可显著提升 Docker 镜像的拉取速度,并规避网络限制。核心步骤如下:
- 选择加速器:优先使用阿里云(需注册)或腾讯云、网易云(免登录)。
- 配置 Docker:修改
daemon.json并重启服务。 - 验证生效:通过
docker info和拉取测试镜像确认。 - 优化构建:在 Dockerfile 中替换包管理源(APT/PIP/NPM)。
- 高级方案:自建 Harbor 私有仓库实现完全本地化。
关键配置文件:
- Docker 镜像加速器配置:
/etc/docker/daemon.json(Linux)或 Docker Desktop 设置文件。 - Harbor 私有仓库配置:
harbor.yml。
常用命令:
# 查看镜像加速器配置
docker info | grep "Registry Mirrors"# 强制重建镜像(清理缓存)
docker build --no-cache -t my-app:1.0 .# 清理无用的镜像和容器
docker system prune -a
相关文章:
使用国内镜像加速器解决 Docker Hub 拉取镜像慢或被屏蔽的问题
一、问题背景 Docker Hub 是 Docker 默认的镜像仓库,但由于网络限制,国内用户直接拉取镜像可能面临以下问题: 下载速度极慢(尤其是大镜像)。连接超时或完全被屏蔽(部分网络环境)。依赖国外源的…...
为AI聊天工具添加一个知识系统 之76 详细设计之17 正则表达式 之4 正则表达式模板
Q712、三“化” (使用三种不同的定义方法:规定定义法 -线性回归/内涵定义法--一阶迭代/外延定义法--单调递归) 整体形成 一个双人零和 的局面 <Class()外延式, Type()内涵式> Method()规定式。给出 问题“law 是什么”的三种答案&#…...
日志收集Day007
1.配置ES集群TLS认证: (1)elk101节点生成证书文件 cd /usr/share/elasticsearch ./bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass "" --days 3650 (2)elk101节点为证书文件修改属主和属组 chown elasticsearch:elasticsearch con…...
【Python】 使用pygame库实现新年烟花
祝大家金蛇衔财,蛇来运转 首先,确保你已经安装了 pygame 库。如果还没有安装,可以通过以下命令安装: pip install pygame接下来是烟花效果的 Python 代码: import pygame import random import math import sys# 初始…...
C语言中string.h头文件功能介绍
在C语言的世界里,string.h头文件提供了许多用于处理字符串和内存操作的函数。今天,我们就来深入探讨string.h头文件的功能、使用注意事项以及一些拓展应用。 一、功能介绍 string.h头文件定义了一系列用于操作字符串和内存的函数。这些函数可以分为几个…...
群晖docker获取私有化镜像http: server gave HTTP response to HTTPS client].
群晖docker获取私有化镜像提示http: server gave HTTP response to HTTPS clien 问题描述 层级时间用户事件Information2023/07/08 12:47:45cxlogeAdd image from xx.xx.31.240:1923/go-gitea/gitea:1.19.3Error2023/07/08 12:47:48cxlogeFailed to pull image [Get "http…...
react antd点击table单元格文字下载指定的excel路径
在使用 Ant Design (antd) 的 Table 组件时,如果想点击表格单元格中的文字来触发下载指定路径的 Excel 文件,可以通过以下步骤实现: 1. 确保有一个可供下载的 Excel 文件:需要有一个服务器端点或者一个可以直接访问的 URL…...
《哈佛家训》
《哈佛家训》是2010年由威廉贝纳德撰写,张玉翻译,在中国妇女出版社出版的专著。书中有许多富有哲理的故事,传达了诸多教育理念和人生智慧,以下是一些例子及相应启示: ### 眼界与格局方面 - **故事**:小伙子…...
ResNeSt: Split-Attention Networks论文学习笔记
这张图展示了一个名为“Split-Attention”的神经网络结构,该结构在一个基数组(cardinal group)内进行操作。基数组通常指的是在神经网络中处理的一组特征或通道。图中展示了如何通过一系列操作来实现对输入特征的注意力机制。 以下是图中各部…...
【matlab】绘图 离散数据--->连续函数
matlab绘图练习 离散数据及离散函数对离散区间进行细划分 达到连续效果画plot(y)图 与 复数的应用 离散数据及离散函数 例1 x1[1 2 4 6 7 8 10 11 12 14 16 17 18 20] y1[1 2 4 6 7 8 10 10 8 7 6 4 2 1] figure(1); plot(x1,y1,o,MarkerSize,15); x21:20; y2log(x2); figure…...
pyside6-uic form.ui -o ui_form.py 的作用
pyside6-uic form.ui -o ui_form.py 的作用 pyside6-uic form.ui -o ui_form.py 这个命令是用来将 .ui 文件转换为 Python 代码文件的工具。 具体作用: pyside6-uic:这是一个命令行工具,用于将用 Qt Designer 或其他图形界面工具创建的 .ui …...
Qt中QVariant的使用
1.使用QVariant实现不同类型数据的相加 方法:通过type函数返回数值的类型,然后通过setValue来构造一个QVariant类型的返回值。 函数: QVariant mainPage::dataPlus(QVariant a, QVariant b) {QVariant ret;if ((a.type() QVariant::Int) &a…...
基础项目实战——3D赛车(c++)
目录 前言一、渲染引擎二、关闭事件三、梯形绘制四、轨道绘制五、边缘绘制六、草坪绘制七、前后移动八、左右移动九、曲线轨道十、课山坡轨道十一、循环轨道十二、背景展示十三、引入速度十四、物品绘制十五、课数字路障十六、分数展示十七、重新生成十八、…...
【SpringBoot教程】Spring Boot + MySQL + HikariCP 连接池整合教程
🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 在前面一篇文章中毛毛张介绍了SpringBoot中数据源与数据库连接池相关概念,今天毛毛张要分享的是关于SpringBoot整合HicariCP连接池相关知识点以及底层源码…...
每日一题 430. 扁平化多级双向链表
430. 扁平化多级双向链表 简单 /*class Solution { public:Node* flatten(Node* head) {Node* tail nullptr;return dfs(head);}Node* dfs(Node* head){Node* cur head;while(cur ! nullptr){if(cur->child ! nullptr){Node* curChild getTail(cur->child);Node* te…...
vue3表格数据分2个表格序号连续展示
一、el-table表格在弹窗里面分两个表格展示。 假设我们有一个数组 tableData,我们希望在第一个表格中展示前半部分的数据,第二个表格中展示后半部分的数据。 <template><el-button type"primary" click"dialogVisible true&q…...
【愚公系列】《循序渐进Vue.js 3.x前端开发实践》027-组件的高级配置和嵌套
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...
一文讲解Java中Object类常用的方法
在Java中,经常提到一个词“万物皆对象”,其中的“万物”指的是Java中的所有类,而这些类都是Object类的子类; Object主要提供了11个方法,大致可以分为六类: 对象比较: public native int has…...
操作系统之输入输出
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...
【Convex Optimization Stanford】Lec3 Function
【Convex Optimization Stanford】Lec3 Function 前言凸函数的定义对凸函数在一条线上的限制增值扩充? 一阶条件二阶条件一些一阶/二阶条件的例子象集和sublevel set关于函数凸性的扩展(Jesen Inequality)保持函数凸性的操作非负加权和 & 仿射函数的…...
【Linux探索学习】第二十七弹——信号(一):Linux 信号基础详解
Linux学习笔记: https://blog.csdn.net/2301_80220607/category_12805278.html?spm1001.2014.3001.5482 前言: 前面我们已经将进程通信部分讲完了,现在我们来讲一个进程部分也非常重要的知识点——信号,信号也是进程间通信的一…...
SpringBoot或SpringAI对接DeekSeek大模型
今日除夕夜,deepseek可是出尽了风头,但是我看网上还没有这方面的内容对接,官网也并没有,故而本次对接是为了完成这个空缺 我看很多的博客内容是流式请求虽然返回时正常的,但是他并不是实时返回,而是全部响应…...
Funnel-Transformer:通过过滤序列冗余实现高效语言处理
摘要 随着语言预训练的成功,开发更具扩展性且能高效利用大量未标注数据的架构变得尤为重要。为了提高效率,我们研究了在维持完整token级别表示时的冗余问题,尤其是对于仅需要序列单向量表示的任务。基于这一直觉,我们提出了Funne…...
【搜索回溯算法】:BFS的魔力--如何使用广度优先搜索找到最短路径
✨感谢您阅读本篇文章,文章内容是个人学习笔记的整理,如果哪里有误的话还请您指正噢✨ ✨ 个人主页:余辉zmh–CSDN博客 ✨ 文章所属专栏:搜索回溯算法篇–CSDN博客 文章目录 一.广度优先搜索(BFS)解决最短路…...
【算法】经典博弈论问题——威佐夫博弈 python
目录 威佐夫博弈(Wythoff Game)【模板】 威佐夫博弈(Wythoff Game) 有两堆石子,数量任意,可以不同,游戏开始由两个人轮流取石子 游戏规定,每次有两种不同的取法 1)在任意的一堆中取走任意多的石子 2)可以在两堆中同时取走相同数量…...
CUDA学习-内存访问
一 访存合并 1.1 说明 本部分内容主要参考: 搞懂 CUDA Shared Memory 上的 bank conflicts 和向量化指令(LDS.128 / float4)的访存特点 - 知乎 1.2 share memory结构 图1.1 share memory结构 放在 shared memory 中的数据是以 4 bytes(即 32 bits)作为 1 个 word,依…...
力扣动态规划-13【算法学习day.107】
前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关…...
《剪映5.9官方安装包》免费自动生成字幕
(避免失效建议存自己网盘后下载)剪映5.9官方Win.Mac 链接:https://pan.xunlei.com/s/VOHc-Fg2XRlD50MueEaOOeW1A1?pwdawtt# 官方唯一的免费版,Win和Mac都有,此版本官方已下架,觉得有用可转存收藏…...
ESP32-S3模组上跑通esp32-camera(32)
接前一篇文章:ESP32-S3模组上跑通esp32-camera(31) 一、OV5640初始化 2. 相机初始化及图像传感器配置 上一回开始解析camera_probe函数的第8段即最后一段代码,本回继续解析该段代码。为了便于理解和回顾,再次贴出camera_probe函数源码,在components/esp32-camera/drive…...
Brave132 编译指南 Windows 篇:安装 Visual Studio 2022(二)
1. 引言 在着手编译 Brave 浏览器的 132 版本之前,构建一个完备的开发环境至关重要。Visual Studio 2022 作为一款功能强大的集成开发环境(IDE),为 Brave 浏览器的编译提供了坚实的工具链和技术支持。它不仅提供了高效的代码编辑…...
