文章目录

  • 前言
  • 可用镜像源汇总
  • 换源方法1-临时换源
  • 换源方法2-永久换源(推荐)
  • 常见问题及对应解决方案
    • 1.换源后,可以成功pull,但是search会出错
  • 补充
    • 1.如何测试镜像源是否可用
    • 2.Docker内的Linux换源教程
  • 换源速通版(可以直接无脑复制粘贴)

前言


✨✨✨ 如果您对这篇文章感兴趣,可以点击【导航页 - 访客必读】一文囊括主页所有优质博客 查看更多优质内容,希望可以帮您解决更多问题~。 ✨✨✨


由于各种网络政策,在国内访问DockerHub速度会非常缓慢,大家一般都会采取更换镜像源的方式来进行加速。

但是,2024.6之后,由于政策的加强,大部分常见的镜像源已经无法使用,如下图:

在这里插入图片描述

因此,笔者通过各种途径搜集了目前可用的镜像源,给出了详细的换源步骤以及镜像源汇总列表,并将定期进行测试与更新 ! (文末也给出了换源的速通版)

对于不同的系统,本文使用到的对应命令可能不同,需要大家结合具体的系统来进行操作,博客有任何错误或者大家有任何问题,都可以直接在评论区留言~
本篇文章以Ubuntu22.04为例,如果您需要其他系统的换源教程,可以私信留言,我将尽可能为您更新相应系统换源的教程!

如果我的博客成功解决了您的问题,烦请一件三连 (),不胜感激!

可用镜像源汇总

下列信息收集于互联网,并非笔者本人搭建,所以无法保证一直有效,建议同时配置多个镜像源。
有些镜像源镜像不全或者只允许内部访问,所以如果某个镜像源无法拉取到您所需的镜像,更换另一个即可。

截止2025.3.16,下列镜像源均可用。(基于能否成功拉取hello-world进行测试)

DockerHub可用镜像源汇总
docker.m.daocloud.io
docker.imgdb.de
docker-0.unsee.tech
docker.hlmirror.com
docker.1ms.run
func.ink
lispy.org
docker.xiaogenban1993.com

注:据网友反映,阿里云镜像站的镜像未同步最新镜像源,即部分镜像拉取不到最新版,故不再写在汇总表中

换源方法1-临时换源

格式如下:(不要加上前缀https://

sudo docker pull+镜像源地址+/+要拉取的镜像名

例如:

镜像源为“docker.m.daocloud.io”,要拉取的镜像名为“hello-world”,

sudo docker pull docker.m.daocloud.io/hello-world

成功拉取,如下图:
在这里插入图片描述

注意:此方法每次拉取镜像时都需要指定相应的镜像源

换源方法2-永久换源(推荐)

核心思想:修改docker的配置文件 daemon.json,将镜像源地址写入其中。

以ubuntu22.04为例,其余操作系统同理

  1. 创建目录(如果已经有该目录,则忽略此步骤)
sudo mkdir -p /etc/docker

知识点补充:添加“-p”,执行此命令会先检查目录是否存在。若不存在,则创建相应目录;否则,不执行任何操作。因此不管是否有该目录,直接执行此命令都没问题,不会报错

  1. 向配置文件写入镜像源

格式如下:(需要加上前缀https://

{"registry-mirrors": ["镜像源1","镜像源2"]
}

例如,根据2025.3.16最新测试的可用镜像源,我在此给出命令行文本编辑器两种操作方法。

特别提醒,不管daemon.json文件是否存在,下列两种方法均可直接使用,不会报错。

  • 方法一:直接命令行输入

直接将下列文本粘贴到终端中,然后回车运行即可。

sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.imgdb.de","https://docker-0.unsee.tech","https://docker.hlmirror.com","https://docker.1ms.run","https://func.ink","https://lispy.org","https://docker.xiaogenban1993.com"]
}
EOF

知识点补充:<<-'EOF' 告诉 shell 接下来的所有内容会被传递到命令 tee,直到遇到标记 EOF 为止,用于将多行内容作为输入传递给命令。所以不需要担心输入一行之后系统就开始执行命令 此外,若daemon.json文件不存在,直接使用tee命令不会报错,而是会创建名为daemon.json的文件

  • 方法二:通过文本编辑器打开daemon.json,然后粘贴

首先打开配置文件:

sudo nano /etc/docker/daemon.json

然后直接粘贴下列内容:

{"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.imgdb.de","https://docker-0.unsee.tech","https://docker.hlmirror.com","https://docker.1ms.run","https://func.ink","https://lispy.org","https://docker.xiaogenban1993.com"]
}

知识点补充:若daemon.json文件不存在,直接使用nano命令不会报错,而是会创建名为daemon.json的文件

  1. 重启docker服务
sudo systemctl daemon-reload && sudo systemctl restart docker
  1. 验证
sudo docker pull hello-world

出现下图,即为成功!

在这里插入图片描述

常见问题及对应解决方案

欢迎大家将自己遇到的问题回复在评论区中,我会积极解答并将其补充到博客中,大家共同进步!

1.换源后,可以成功pull,但是search会出错

报错如下图:
在这里插入图片描述

先说结论:截止目前,除非科学上网(挂梯子),不然无法解决此问题

  • 目前由于国内政策限制,国内网络无法正常访问DockerHub,只能借助镜像站
  • 目前各个可用的镜像站均是对pull操作进行了加速优化,并没有支持search功能,所以对于search操作来说,镜像站无效

基于上述两点,此问题无解(除非科学上网)。

如果您有可行的解决办法,希望您及时私信或评论,造福大家!

补充

1.如何测试镜像源是否可用

我们可以直接根据 ” 换源方法1-临时换源 “ ,通过拉取hello-world镜像进行测试。

hello-world 镜像是 Docker 官方提供的一个最基础的镜像,用来测试 Docker 是否正常工作。无论你更换了哪个镜像仓库,hello-world 镜像都可以作为最基本的测试。

但是需要注意,hello-world 镜像是否可以正常拉取与镜像源是否可用并不是完全对应的
某些特殊的镜像源可能并不支持hello-world ,但支持某些其他镜像。不过这是极少数的,

因此,通过hello-world 镜像是否可以正常拉取来判断镜像源是否可用,这是充分条件,而不是必要条件。

失败拉取如下图:
在这里插入图片描述
成功拉取如下图:
在这里插入图片描述

当然,我们也可以通过其他镜像来判断,例如alpinebusybox等也是比较基础且常见的镜像源,具体不再赘述。

2.Docker内的Linux换源教程

我们进入到Docker容器后,将是与宿主机不同的另一个Linux系统,那么如何更换Docker内Linux系统的软件源以获得更快的下载速度呢?

可以参考此教程。

换源速通版(可以直接无脑复制粘贴)

  1. 创建目录
sudo mkdir -p /etc/docker
  1. 配置镜像源
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.imgdb.de","https://docker-0.unsee.tech","https://docker.hlmirror.com","https://docker.1ms.run","https://func.ink","https://lispy.org","https://docker.xiaogenban1993.com"]
}
EOF
  1. 重启docker服务
sudo systemctl daemon-reload && sudo systemctl restart docker
  1. 验证
sudo docker pull hello-world

出现下图,即为成功!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/917552.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/917552.shtml
英文地址,请注明出处:http://en.pswp.cn/news/917552.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习【三】SVM

本文系统介绍了支持向量机(SVM)的理论与实践。理论部分首先区分了线性可分与不可分问题&#xff0c;阐述了SVM通过寻找最优超平面实现分类的核心思想&#xff0c;包括支持向量、间隔最大化等关键概念。详细讲解了硬间隔与软间隔SVM的数学原理&#xff0c;以及核函数(线性核、多…

DevOps平台大比拼:Gitee、Jenkins与CircleCI如何选型?

DevOps平台大比拼&#xff1a;Gitee、Jenkins与CircleCI如何选型&#xff1f; 在数字化转型浪潮席卷全球的当下&#xff0c;DevOps已成为企业提升研发效能的关键引擎。面对市场上纷繁复杂的DevOps工具链&#xff0c;如何选择最适合自身业务需求的平台成为技术决策者的重要课题。…

开源医院信息管理系统:基于若依框架的智慧医疗解决方案

引言在数字化浪潮的推动下&#xff0c;医疗行业正加速向信息化、智能化转型。医院信息管理系统&#xff08;HIS&#xff09;作为医疗管理的核心工具&#xff0c;直接影响医院的运营效率和服务质量。近期&#xff0c;一款基于 若依框架 Vue 的开源医院管理系统&#xff08;hosp…

我的世界进阶模组开发教程——附魔(2)

EnchantmentHelper 类详解 EnchantmentHelper 是 Minecraft 中处理物品附魔逻辑的核心工具类,提供附魔的存储、查询、计算和应用等功能。以下是对其字段和方法的逐行详细解释: 关键字段 private static final String TAG_ENCH_ID = "id"; // NBT标签键:附…

深度学习零基础入门(4)-卷积神经网络架构

许久不见~ 本节我们延续上一节的话题来看看卷积神经网络的架构&#xff0c;看看具体的卷积、池化等操作卷积神经网络详解&#xff1a;从基础操作到整体架构 一、卷积操作&#xff1a;特征提取的核心 卷积是卷积神经网络&#xff08;CNN&#xff09;的核心操作&#xff0c;灵感来…

C语言的控制语句

C的控制语句 控制语句是C语言中用于控制程序执行流程的结构。通过控制语句,可以根据条件执行不同的代码块,或者重复执行某些操作,从而实现复杂的逻辑和功能。掌握控制语句是编写有效和高效C程序的关键。 1 条件控制 条件控制语句用于根据某些条件来决定程序的执行路径。C语…

Mac电脑基本功能快捷键

1. 个性化桌面 将喜爱照片添加为桌面墙纸。前往“系统设置”&#xff0c;然后点按边栏中的“墙纸”。点按“添加照片”&#xff0c;然后从文件或“照片”App选取一张照片。 2. 截屏 按下键盘上的Shift &#xfffc; Command ⌘ 5&#xff0c;然后选取捕捉整个屏幕、App窗口或…

微算法科技(NASDAQ: MLGO)开发量子边缘检测算法,为实时图像处理与边缘智能设备提供了新的解决方案

图像边缘检测是计算机视觉的核心任务&#xff0c;传统算法&#xff08;如 Sobel、Canny&#xff09;依赖梯度计算与阈值分割&#xff0c;在处理高分辨率、复杂纹理图像时面临计算效率瓶颈。随着量子计算技术的发展&#xff0c;利用量子态叠加与并行处理特性&#xff0c;微算法科…

断点续传Demo实现

基于我们的DownloadManager.swift代码&#xff0c;让我详细解释断点续传需要实现的核心功能&#xff1a; 断点续传的核心实现要素 1. 后台会话配置 private func setupBackgroundSession() {let config URLSessionConfiguration.background(withIdentifier: "com.test.do…

《Leetcode》-面试题-hot100-子串

题目列表 560. 和为K的子数组 中等难度 leetcode链接 239 滑动窗口最大值 困难难度 leetcode链接 76 最小覆盖子串 困难难度 leetcode链接 题目 &#xff08;1&#xff09;和为K的子数组 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 …

点击弹框以外的区域关闭弹框

在 Vue 3 中&#xff0c;如果你想判断点击的目标是否在弹框内&#xff0c;可以通过以下步骤实现。这里我们将使用 ref 来引用弹框组件&#xff0c;并在点击事件中进行判断。 示例代码 1. 创建弹框子组件 首先&#xff0c;创建一个名为 Modal.vue 的子组件。 <!-- Modal.vue …

00.Vue基础入门【小白级别手把手!】

目录 一、Vue介绍 二、创建Vue项目 nodeJs nvm版本管理 创建Vue项目 VS Code编辑器 三、.Vue文件结构说明 数据渲染 四、Vue项目目录说明 main.ts文件说明 五、Vue官网文档学习 一、Vue介绍 基础介绍 Vue是一个前端Web框架&#xff0c;属于单页应用&#xff08;SPA&am…

将Varjo XR技术融入战斗机训练模拟器,有效提升模拟训练沉浸感与效率

本周在Varjo总部&#xff0c;收到了一份令人兴奋的礼物&#xff0c;一架由Dogfight Boss与varjo XR-4集成的训练模拟器。这是一个专业级模拟器&#xff0c;专为高保真训练和任务排练而设计&#xff0c;非常注重细节&#xff0c;提高了沉浸水平。为此Dogfight Boss的首席执行官L…

C# async await 实现机制详解

一、async/await 异步编程实现机制 1.1 核心概念 async/await 是 C# 5.0 引入的语法糖&#xff0c;它基于**状态机&#xff08;State Machine&#xff09;**模式实现&#xff0c;将异步方法转换为编译器生成的状态机类。 1.2 编译器转换过程 当编译器遇到 async 方法时&#xf…

Servlet 学习笔记

本文为记录Servlet学习时的一些笔记和代码 课程参考黑马程序员 对于Java Web 学习的一个复习一 概述server applet 运行在服务器端的小程序 本质就是一个接口 定义java类被浏览器访问到&#xff08;Tomcat识别&#xff09;的规则我们会自定义这样一个类来实现复写方法实现接口二…

【maven】仓库配置

目录 一、本地仓库 二、私有仓库 三、阿里云仓库 一、本地仓库 针对无外网、无maven私服&#xff0c;只有本地仓库&#xff0c;进行maven项目开发。在maven的settings.xml中设置三项&#xff1a; 1、本地仓库地址 默认在当前系统用户下创建目录&#xff1a;.m2/repository…

信息系统架构设计的系统性解析

一、信息系统架构设计​​概念定义​​&#xff1a;信息系统架构&#xff08;ISA&#xff09;是对系统组件、交互关系及环境约束的结构化抽象&#xff0c;确保业务目标与技术实现对齐。核心要素包括业务逻辑层、数据层、应用层和基础设施层。​​设计方法​​&#xff1a;​​T…

编译旧版本的electron内核

我们的软件产品使用的electron框架&#xff0c;electron框架是不断更新的&#xff0c;但是我们的软件太过庞大复杂&#xff0c;不敢轻易升级electron框架。Electron旧版本存在一些BUG和不合理的地方&#xff0c;需要去修复BUG或者不合理的地方。修复完BUG后&#xff0c;要对ele…

Elastic 9.1/8.19:默认启用 BBQ,ES|QL 支持跨集群搜索(CCS)正式版,JOINS 正式版,集成 Azure AI Foundry

作者&#xff1a;来自 Elastic Mark Doncov 今天&#xff0c;我们很高兴宣布 Elastic 9.1 和 8.19 正式发布&#xff01; 是的&#xff0c;又有好消息 —— 我们将 8.x 系列最终延长到 8.19&#xff0c;这样那些还在等待升级到 9.x 的用户也能享受到许多新功能。 Elastic 9.1…

Redis面试精讲 Day 8:Stream消息队列设计与实现

【Redis面试精讲 Day 8】Stream消息队列设计与实现 文章标签 Redis,消息队列,Stream,面试技巧,分布式系统,后端开发 文章简述 本文是"Redis面试精讲"系列第8天&#xff0c;聚焦Redis 5.0引入的Stream消息队列。文章深入解析Stream的核心概念与实现原理&#xff0…