天天看點

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

作者:什麼值得買

本内容來源于@什麼值得買APP,觀點僅代表作者本人 |作者:Stark-C

衆所周知,最近的Docker官方鏡像倉庫Dockerhub可能抽風了。因為我自己網絡情況還算良好一直沒發現,直到前幾天陸續有多位小夥伴在評論區讨論這個事情,我嘗試将網絡恢複正常,果然不出所料:

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

Dockerhub抽風了!

然後嘗試使用ping工具檢測,我心安了,因為并不隻有我一個人是這種情況,全國都是一片大紅啊~~

看到這個情況,可能很多小夥伴都擔心,以後我們難道就用不了Docker了嗎?

非也!我其實在前兩篇文章已經回複過這個問題。我們目前的網絡隻是打不開Dockerhub的官方網站,但是裡面的鏡像還是正常拉取的。

當我以為我說的這句話沒毛病的時候,我昨天在朋友家裡玩NAS,用她家裡的移動網絡拉取鏡像的時候,十幾兆的鏡像拉取了10幾分鐘還沒完成,最後竟然還失敗了,當我使用其它網絡的時候,3秒鐘全部搞定!

結論就是:我給小夥伴們的回複草率了!這臉打的有點快啊~~~~

既然這樣,我還是給小夥伴們總結一下,目前我找到的可以解決這個問題的方法吧!

方案一:使用MO法

這種方案可以說是萬能大法,通過它沒有搞不定的。具體操作如下:

……此處省略一萬字……

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

方案二:先拉取鏡像在部署容器

很多時候我們在SSH終端直接通過容器的Docker run指令來搭建的時候,怎麼都沒有速度,主要就是卡在拉取鏡像這一步。

但是我們可以先不要直接使用Docker run指令,而是先通過NAS的Docker功能單獨的拉取鏡像到本地并儲存,在過去使用Docker run指令來搭建,這個容器就能秒完成。這個方案我試過不管是在群晖還是威聯通都非常有用,小夥伴如果碰到拉取鏡像失敗的問題可以試試。

舉個例子,我這裡以威聯通NAS來示範:

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

比如我這裡直接使用Docker run指令搭建【linuxserver/librespeed】這個很出名的區域網路測速容器,在拉取鏡像的時候幾乎沒有速度,5分鐘了還是上圖中的樣子。可以看到鏡像完全就拉不動(沒速度啊)。

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

但是我使用威聯通的Container Station先将這個鏡像下載下傳到本地(操作方法:映像—提取—輸入完整的鏡像名稱—提取)

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

可以看到鏡像下載下傳速度非常的快,不到5秒鐘就下載下傳完成。

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

在鏡像清單中已經看到這個鏡像了,但是是“未使用”狀态,因為我們隻是下載下傳了鏡像,還沒有搭建容器。

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

然後回到SSH終端,再次輸入Docker run部署指令,可以看到系統直接跳過拉取鏡像的步驟,瞬間完成了這個容器的搭建,用時真的不到兩秒鐘,非常的快。

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

搭建結果也是沒有任何問題的。

方案三:使用國内鏡像加速

這個方案說實話比較雞肋,有的人反映非常的快,有的人設定好之後沒什麼變化,是以說隻能自己嘗試了!

然後我這裡換作群晖最新的Container Manager(Docker)來示範吧!

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

你以為我打開的系統資料庫是這樣的嗎?

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

它其實是這樣的。我相信這種情況的小夥伴肯定非常多對吧?是以這個時候我們隻能通過ssh終端連接配接的方式來部署。問題是直接docker pull 拉取速度一樣很慢,或者根本沒速度,怎麼辦?

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

這裡建議通過新增國内容器鏡像倉庫來提高下載下傳速度。方法是:點選系統資料庫—設定,選中Docker Hub,點選編輯,然後在系統資料庫鏡像裡面新增國内容器鏡像倉庫位址即可,最後點選應用。

這裡順便分享一下其它網友列出來的國内容器鏡像倉庫位址:

阿裡雲(杭州) https://registry.cn-hangzhou.aliyuncs.com/

阿裡雲(深圳) https://registry.cn-shenzhen.aliyuncs.com/

阿裡雲(廣州) https://registry.cn-guangzhou.aliyuncs.com/

阿裡雲(成都) https://registry.cn-chengdu.aliyuncs.com/

騰訊雲 https://mirror.ccs.tencentyun.com/

微軟雲 https://dockerhub.azk8s.com

網易 https://hub-mirror.c.163.com/

上海交通大學 https://mirror.sjtu.edu.cn/docs/docker-registry

南京大學 https://docker.nju.edu.cn

道客 DaoCloud https://f1361db2.m.daocloud.io

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

我之後試着在群晖上搭建了前面說的【linuxserver/librespeed】容器,拉取速度确實有提升,差不多20秒種就搞定了!

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

容器顯示也是正常的。

方案四:使用Docker Proxy 鏡像加速

這個從字面上就能了解它的意思對吧?它其實是另外一種網絡通路方式,簡單了解就是Docker鏡像的代理服務,我們如果碰到docker pull拉取沒速度的時候,就可以使用這種方案,可以說是直接滿速起飛!

這裡推薦我常用的一個代理服務網站,除了支援 Docker Hub,GitHub, Google, k8s, Quay等鏡像倉庫也都是支援的,非常的不錯!

代理服務網站:https://dockerproxy.com/

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

使用起來非常簡單,直接輸入我們需要的鏡像名稱(注意還是需要完整的名稱),然後點選“擷取指令”,下面就會顯示這個代理網站給出的docker pull指令,我們直接使用就可以了!

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

嘗試使用它的指令拉取鏡像,果然啥也不用設定,速度非常的快!

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

但是需要說明的是,因為鏡像是從這個代理軟體的鏡像倉庫拉取過來的,是以名稱其實顯示的是它自己的倉庫名,我們還需要通過它給出的“重命名鏡像”和“删除代理鏡像”兩個指令繼續操作,我們得到的才是我們可以直接使用的正常鏡像。

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

來到NAS中的鏡像清單,可以看到這個鏡像已經存在,并且顯示正常,說明我們拉取成功。

618NAS推薦

目前擁有的Docker容器超過上萬種,也就是說,對于我們使用NAS的使用者來說,Docker功能的存在擴充了我們更多的玩法,賦予了我們更多的可能。得益于Docker容器優良的特性,Docker容器不管是在部署方面,還是在資源利用方面,以及安全方面都有非常不錯的表現,是以建議有購買NAS意願的小夥伴,我個人是強烈的建議你們選購支援Docker功能的NAS産品,并且還是X86架構的。

目前國内市場可以完整支援Docker功能的NAS産品也就是群晖,威聯通以及華碩NAS三家的産品了,這三家作為深耕NAS領域超過10年的傳統NAS品牌,不管是系統以及産品,都得到了廣大使用者的認可,同時它們的功能和玩法也是最多的。

這兩年國内市場也出現了一批新型的國産NAS品牌,比如綠聯,極空間等,它們擁有良好的作業系統以及對國人更友好的操作界面,大大減少了新手使用者的上手難度。同時它們也是都支援Docker功能的,但是對于一些需要特權的Docker容器支援的并不好(比如Portainer),好在對于我們絕大多數普通消費者來說,常見的Docker容器都是可以随意搭建的。

Docker官方鏡像倉庫抽風難?分享四種Docker鏡像拉取方案

好了,以上就是今天給大家分享的内容,我是愛分享的Stark-C,如果今天的内容對你有幫助請記得收藏,順便點點關注,我會經常給大家分享各類有意思的軟體和免費幹貨,咱們下期再見!謝謝大家~