Docker換源加速(更換映象源)詳細教程(2025.3最新可用映象,全網最詳細)

前言


由於各種網路政策,在國內訪問DockerHub速度會非常緩慢,大家一般都會採取更換映象源的方式來進行加速。
但是,2024.6之後,由於政策的加強,大部分常見的映象源已經無法使用,如下圖:
因此,筆者透過各種途徑蒐集了目前可用的映象源,給出了詳細的換源步驟以及映象源彙總列表,並將定期進行測試與更新 ! (文末也給出了換源的速通版)

可用映象源彙總

下列資訊收集於網際網路,並非筆者本人搭建,所以無法保證一直有效,建議同時配置多個映象源。


有些映象源映象不全或者只允許內部訪問,所以如果某個映象源無法拉取到您所需的映象,更換另一個即可。
截止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”,
sudodocker

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

成功拉取,如下圖:


注意:此方法每次拉取映象時都需要指定相應的映象源

換源方法2-永久換源(推薦)

核心思想:修改docker的配置檔案 daemon.json,將映象源地址寫入其中。
以ubuntu22.04為例,其餘作業系統同理
  1. 建立目錄(如果已經有該目錄,則忽略此步驟)
sudomkdir-p

/etc/docker

知識點補充:新增“-p”,執行此命令會先檢查目錄是否存在。若不存在,則建立相應目錄;否則,不執行任何操作。因此不管是否有該目錄,直接執行此命令都沒問題,不會報錯
  1. 向配置檔案寫入映象源
格式如下:(需要加上字首https://

{

"registry-mirrors":

[

"映象源1"

,

"映象源2"

]

}

例如,根據2025.3.16最新測試的可用映象源,我在此給出命令列文字編輯器兩種操作方法。
特別提醒,不管daemon.json檔案是否存在,下列兩種方法均可直接使用,不會報錯。
  • 方法一:直接命令列輸入
直接將下列文字貼上到終端中,然後回車執行即可。
sudotee /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,然後貼上
首先開啟配置檔案:
sudonano

/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. 驗證
sudodocker

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系統的軟體源以獲得更快的下載速度呢?
可以參考此以下教程
https://blog.csdn.net/qq_73162098/article/details/145146182

換源速通版(可以直接無腦複製貼上)

  1. 建立目錄
sudomkdir-p

/etc/docker

  1. 配置映象源
sudotee /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. 驗證
sudodocker

pull hello-world

出現下圖,即為成功!
在這裡插入圖片描述
連結:https://blog.csdn.net/qq_73162098/article/details/145014490?spm=1001.2100.3001.7377&utm_medium=distribute.pc_feed_blog_category.none-task-blog-classify_tag-12-145014490-null-null.nonecase&depth_1-utm_source=distribute.pc_feed_blog_category.none-task-blog-classify_tag-12-145014490-null-null.nonecase
(版權歸原作者所有,侵刪)
文末福利
就目前來說,傳統運維衝擊年薪30W+的轉型方向就是SRE&DevOps崗位。
為了幫助大家早日擺脫繁瑣的基層運維工作,給大家整理了一套高階運維工程師必備技能資料包,內容有多詳實豐富看下圖!
共有 20 個模組
1.38張最全工程師技能圖譜
2.面試大禮包
3.Linux書籍
4.go書籍
······
6.自動化運維工具
18.訊息佇列合集
 以上所有資料獲取請掃碼
備註:最新運維資料
100%免費領取
(後臺不再回復,掃碼一鍵領取


相關文章