例如,根据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
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

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

首先打开配置文件:

sudo nano /etc/docker/daemon.json
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

然后直接粘贴下列内容:

{
    "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"
    ]
}
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

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

  1. 重启docker服务
sudo systemctl daemon-reload && sudo systemctl restart docker
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
  1. 验证
sudo docker pull hello-world
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

出现下图,即为成功!

在这里插入图片描述

常见问题及对应解决方案

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

1.换源后,可以成功pull,但是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
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
  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
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
  1. 重启docker服务
sudo systemctl daemon-reload && sudo systemctl restart docker
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
  1. 验证
sudo docker pull hello-world
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

出现下图,即为成功!

在这里插入图片描述

注:本文转载自blog.csdn.net的LabVIEW开发的文章"https://blog.csdn.net/bjcyck/article/details/134269325"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!