Docker换源加速(更换镜像源)详细教程(2025.2最新可用镜像,全网最详细)

news/2025/2/22 13:29:31/

文章目录

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

前言


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


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

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

在这里插入图片描述

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

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

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

可用镜像源汇总

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

截止2025.2.6,下列镜像源均可用。(基于能否成功拉取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.1.8最新测试的可用镜像源,我在此给出命令行文本编辑器两种操作方法。

特别提醒,不管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.ppmy.cn/news/1574167.html

相关文章

AI知识库和全文检索的区别

1、AI知识库的作用 AI知识库是基于人工智能技术构建的智能系统&#xff0c;能够理解、推理和生成信息。它的核心作用包括&#xff1a; 1.1 语义理解 自然语言处理&#xff08;NLP&#xff09;&#xff1a;AI知识库能够理解用户查询的语义&#xff0c;而不仅仅是关键词匹配。 …

C语言 —— 浮生百态 生灭有时 - 数组

目录 1. 数组的概念 2. ⼀维数组的创建和初始化 2.1 数组创建 2.2 数组的初始化 2.3 数组的类型 3. ⼀维数组的使用 3.1 数组下标的访问 4. ⼀维数组在内存中的存储 5. ⼆维数组的概念 5.1 ⼆维数组的创建 5.2 ⼆维数组的初始化 6. ⼆维数组的使用 6.1 ⼆维数组的下…

BUUCTF-Web方向16-20wp

目录 [极客大挑战 2019]PHP[ACTF2020 新生赛]BackupFile[RoarCTF 2019]Easy Calc[极客大挑战 2019]BuyFlag[BJDCTF2020]Easy MD5 [极客大挑战 2019]PHP 由内容提示应该存在源码备份&#xff0c;常见的如下&#xff0c;一个个尝试 后缀&#xff1a;tar tar.gz zip rar 名字&am…

人工智能驱动的自动驾驶:技术解析与发展趋势

&#x1f30d; 人工智能&#xff08;AI&#xff09;正在彻底变革自动驾驶技术。 从感知到决策&#xff0c;从定位到控制&#xff0c;AI 的发展让汽车越来越接近真正的无人驾驶。本文将详细解析 AI 在自动驾驶中的核心应用&#xff0c;深入探讨各个关键技术&#xff0c;并展望未…

小程序的分包

1.分包的概念以及基本用法 2.在小程序项目里面添加自己的分包 3.给分包加上别名 4.查看分包体积大小 5.分包的打包原则 6.分包的引用原则 7.独立分包 8.分包的预下载

[GESP202406 六级] 二叉树

题目描述 小杨有⼀棵包含 n n n 个节点的二叉树&#xff0c;且根节点的编号为 1 1 1。这棵二叉树任意⼀个节点要么是白色&#xff0c;要么是黑色。之后小杨会对这棵二叉树进行 q q q 次操作&#xff0c;每次小杨会选择⼀个节点&#xff0c;将以这个节点为根的子树内所有节点…

C#功能测试

一、List 内部元素为引用 src[0]的Name为"11"&#xff0c;说明修改了引用 List<Source> src new List<Source>(); src.Add(new Source() { Name "1", Age 1, Description "1" }); src.Add(new Source() { Name "2"…

一篇文章理解常用的前端设计模式

前端设计模式 一.设计模式概览 设计模式是针对软件设计开发过程中反复出现的某类问题的通用解决方案。设计模式更多的是指导思想和方法论&#xff0c;而不是现成的代码&#xff0c;每种设计模式都有每种语言中的具体实现方式。学习设计模式更多是理解各个模式的内在思想和解决…