近期,Docker 鏡像倉(cāng)庫(kù) 在中國(guó)大陸無(wú)法訪(fǎng)問(wèn),導(dǎo)致國(guó)內(nèi)用戶(hù)拉取鏡像困難,嚴(yán)重影響了開(kāi)發(fā)、測(cè)試和部署工作。本文提供幾種解決思路,幫助您克服這一限制。
一、國(guó)內(nèi)幸存的鏡像
因?yàn)閲?guó)內(nèi)眾多鏡像停止鏡像緩存服務(wù),導(dǎo)致眾多流量流向幾個(gè)還在線(xiàn)的鏡像,所以幸存的鏡像一般都會(huì)有限流限制速。以下是幾個(gè)國(guó)內(nèi)幸存的鏡像。
DaoCloud 鏡像站
- 網(wǎng)址:道客云
- 特點(diǎn):支持GCR、K8S、GHCR、Quay、NVCR 等
- 模式:白名單模式、限流
- 是否免費(fèi):免費(fèi)
阿里云鏡像
- 網(wǎng)址:阿里云鏡像
- 特點(diǎn):需要注冊(cè)登錄,分配個(gè)人實(shí)例鏡像,有限量,個(gè)人夠用
- 是否免費(fèi):免費(fèi)
- 備注:很多人反映阿里云的鏡像很老沒(méi)有更新,但個(gè)人實(shí)際使用中表現(xiàn)正常
二、使用其他國(guó)家的鏡像(例如俄羅斯)
如果您的阿里云的個(gè)人鏡像不可用,您可以嘗試一些國(guó)外Docker鏡像庫(kù),以替代官方的Docker Hub。在早些時(shí)候,美國(guó)對(duì)俄羅斯,古巴,伊朗等國(guó)制裁,docker在這些國(guó)家已經(jīng)不能訪(fǎng)問(wèn),但是這些國(guó)家的技術(shù)人員已經(jīng)找到了很多方案,你可以在google中先翻譯,然后使用當(dāng)?shù)卣Z(yǔ)言來(lái)搜索。以下是一些國(guó)外鏡像。
Amazon ECR Public Gallery
- 網(wǎng)址:Amazon ECR
- 特點(diǎn):由Amazon提供的公共Docker鏡像庫(kù),具有高可用性,支持Docker Hub、GCR、Quay等
- 是否免費(fèi):免費(fèi)
TimeWeb Docker Hub Mirror
- 網(wǎng)址:TimeWeb
- 特點(diǎn):TimeWeb提供的Docker Hub鏡像,易于使用。
- 是否免費(fèi):免費(fèi)
Yandex Docker Hub Mirror
- 網(wǎng)址:Yandex
- 特點(diǎn):俄羅斯Yandex提供的Docker鏡像庫(kù),支持Docker Hub。
- 使用方式:docker pull cr.yandex/mirror/nginx 不支持配置到 daemon.json
- 是否免費(fèi):免費(fèi)
GitVerse Docker Hub Mirror
- 網(wǎng)址:GitVerse
- 特點(diǎn):GitVerse提供的Docker Hub鏡像,快速訪(fǎng)問(wèn)。
- 是否免費(fèi):免費(fèi)
Beget Docker Hub Mirror
- 網(wǎng)址:Beget
- 特點(diǎn):Beget提供的Docker Hub鏡像,支持Docker Hub。
- 是否免費(fèi):免費(fèi)
NooSoft Docker Hub Proxy
- 網(wǎng)址:NooSoft
- 特點(diǎn):NooSoft提供的Docker Hub代理服務(wù),支持Docker Hub。
- 是否免費(fèi):免費(fèi)
JockerHub
- 網(wǎng)址:DpkgSoft
- 特點(diǎn):DpkgSoft提供的Docker Hub代理服務(wù),專(zhuān)為俄羅斯用戶(hù)設(shè)計(jì),支持Docker Hub。
- 是否免費(fèi):免費(fèi)
Red Hat Container Catalog
- 網(wǎng)址:Red Hat Container Catalog
- 特點(diǎn):Red Hat提供的容器鏡像庫(kù),適合企業(yè)級(jí)使用。
- 是否免費(fèi):部分免費(fèi)
Red Hat Ecosystem Catalog
- 網(wǎng)址:Red Hat Ecosystem Catalog
- 特點(diǎn):Red Hat生態(tài)系統(tǒng)目錄,提供多種企業(yè)級(jí)容器解決方案,支持Docker Hub、GCR、Quay等。
- 是否免費(fèi):部分免費(fèi)
三、自建Docker鏡像加速器
在GitHub上有很多項(xiàng)目,可以幫助您使用免費(fèi)的Cloudflare Worker/pages 或自己的主機(jī)自建Docker鏡像加速器。以下是幾個(gè)Star數(shù)較高的項(xiàng)目:
1.CF-Workers-docker.io
這個(gè)項(xiàng)目是一個(gè)基于Cloudflare Workers的Docker鏡像代理工具,能夠中轉(zhuǎn)對(duì)Docker官方鏡像倉(cāng)庫(kù)的請(qǐng)求,解決訪(fǎng)問(wèn)限制和加速訪(fǎng)問(wèn)的問(wèn)題。
2. cloudflare-docker-proxy
這是另一個(gè)基于Cloudflare Workers的Docker鏡像代理項(xiàng)目,支持一鍵部署。
3.Docker-Proxy
自建Docker鏡像加速服務(wù),基于官方Docker Registry,一鍵部署Docker、K8s、Quay、Ghcr、Mcr等鏡像加速和管理服務(wù)。支持部署到Render。
4.Hammal
這個(gè)項(xiàng)目是另一個(gè)基于Cloudflare Workers的Docker鏡像加速工具,用于解決獲取Docker官方鏡像無(wú)法正常訪(fǎng)問(wèn)的問(wèn)題。
這些庫(kù)都有詳細(xì)的使用說(shuō)明,可以按照使用說(shuō)明操作或者使用一鍵部署。
四、自己解決網(wǎng)絡(luò)問(wèn)題
解決網(wǎng)絡(luò)限制是最直接有效的途徑。您可以配置本地或公司網(wǎng)絡(luò)中的代理服務(wù)器,將流量路由至境外。作為程序員或者相關(guān)從業(yè)者,如果你能解決網(wǎng)絡(luò)問(wèn)題,那么會(huì)為你省掉很多麻煩?,F(xiàn)在是docker無(wú)法訪(fǎng)問(wèn),以后可能還會(huì)有更多的npm,pip..不能使用。這里所說(shuō)的配置代理,是使用自己的服務(wù)器,配置一個(gè)自己個(gè)人使用的代理,不是使用免費(fèi)地址或者機(jī)場(chǎng)等方法,這需要一定的技術(shù)能力和可能的硬件資源投入,當(dāng)然如果能一勞永逸的解決網(wǎng)絡(luò)問(wèn)題,是最好不過(guò)的了。