首页 > 其他分享 >Docker更换镜像源(2025.1最新可用镜像,全网最详细)

Docker更换镜像源(2025.1最新可用镜像,全网最详细)

时间:2025-01-08 20:57:37浏览次数:3  
标签:daemon 2025.1 sudo 换源 world 镜像 Docker docker

文章目录

前言

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

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

在这里插入图片描述

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

对于不同的系统,本文使用到的对应命令可能不同,需要大家结合具体的系统来进行操作,博客有任何错误或者大家有任何问题,都可以直接在评论区留言~

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

可用镜像源汇总

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

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

DockerHub可用镜像源汇总
docker.m.daocloud.io
docker.imgdb.de
docker-0.unsee.tech
docker.hlmirror.com
cjie.eu.org

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

换源方法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://cjie.eu.org"
    ]
}
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://cjie.eu.org"
    ]
}

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

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

出现下图,即为成功!

在这里插入图片描述

常见问题及对应解决方案

目前还没遇到过问题…

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

补充

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

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

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

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

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

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

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

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

  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://cjie.eu.org"
    ]
}
EOF
  1. 重启docker服务
sudo systemctl daemon-reload && sudo systemctl restart docker
  1. 验证
sudo docker pull hello-world

出现下图,即为成功!

在这里插入图片描述

标签:daemon,2025.1,sudo,换源,world,镜像,Docker,docker
From: https://blog.csdn.net/qq_73162098/article/details/145014490

相关文章

  • 2025.1.8 练习赛总结
    总览本文同步发表与:洛谷:https://www.luogu.com.cn/article/hdzdhnif。博客园:<>。打得不好,在赛时只做了A题。昨晚的睡眠使我刚好处于困和不困的叠加态,导致想题的时候脑子极乱。A:Gym103430F。B:CF578B。C:CF1407D。D:洛谷P11122。E:CF1208D。A-Gym103430F-X-Mag......
  • 2025.1.8 鲜花
    Nim的变种グランドエスケープ空飛ぶ羽根と引き換えに繋ぎ合う手を選んだ僕ら没有选择飞翔的翅膀而是选择十指相扣的我们それでも空に魅せられて夢を重ねるのは罪か却仍然向往着天空反复做着同样的梦这有错吗夏は秋の背中を見てその顔を思い浮かべる夏天望着秋天......
  • docker拉取报错/docker切换国内镜像源
    报错场景:docker从远程拉取镜像是出现的报错问题描述报错内容为Errorresponsefromdaemon:Get"https://registry-1.docker.io/v2/":net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders原因分析:国内dock......
  • windows docker不能使用 || wsl不能使用
    使用管理员打开命令行输入bcdedit/sethypervisorlaunchtypeauto重启即可风险如果你在使用virtualbox,版本比较老的话,可能docker可以使用了,但是虚拟机不能用了;可以更新一下virtualbox解释WSL2、DockerDesktop等依赖HypervisorDockerDesktopforWindows利......
  • docker-compose部署下Fastapi中使用sqlalchemy和Alembic
    本篇介绍使用Fastapi+sqlalchemy+alembic来完成后端服务的数据库管理,并且通过docker-compose来部署后端服务和数据库Mysql。包括:数据库创建,数据库用户创建数据库服务发现Fastapi连接数据库Alembic连接数据库服务健康检查部署数据库version:'3'services:db:......
  • 什么是 Docker
    Docker简介什么是DockerDocker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app).Dokcer本质上是一个进程,由sy......
  • docker-compose安装es集群
    1、创建3个node节点并授权,es集群至少需要3个节点,防止脑裂#创建node目录mkdir-p/data/es/data/node1/datamkdir-p/data/es/data/node2/datamkdir-p/data/es/data/node3/data#授权node目录chmod777/data/es/data/node1/datachmod777/data/es/data/node2/data......
  • 笔记 2025.1.6:计数问题选讲-徐哲晨
    目录P4463[集训队互测2012]calc(拉插优化dp)P4484[BJWC2018]最长上升子序列(状压dp)ARC138E-DecreasingSubsequence(构造双射)P5400[CTS2019]随机立方体(二项式反演)AGC064D-RedandBlueChips(构造充要条件)CF1942G.BessieandCards(反射容斥)CF1874F.JellyfishandOEIS(容......
  • docker compose 部署mysql8的踩坑
    DockerCompose模板(SpringBoot+mysql+redis+rabbitmq):注:需要将application.yml中的host替换为容器名称services:backend:container_name:textgenbuild:context:.dockerfile:Dockerfilerestart:on-failurevolumes:-t......
  • Ubuntu20.4安装Docker
    一、设置Docker存储库1、更新系统apt包索引更新软件包索引,并且安装必要的依赖软件,来添加一个新的HTTPS软件源#更新索引sudoapt-getupdate#安装必要的依赖包,使apt能通过HTTPS使用仓库sudoaptinstallapt-transport-httpsca-certificatescurlgnupg-agentsoft......