k8s.gcr.io、gcr.io倉庫的鏡像下載


===============================================

 2021/2/15_第1次修改                       ccb_warlock

 

===============================================

在試驗kubernetes相關內容時需要獲取谷歌鏡像倉庫的鏡像(比如搭建k8s、cAdvisor等),但是嘗試掛代理也無法匿名下載到倉庫的內容(原因不明,如果有知道的大佬可以在評論中指點一二)。

 

獲取這類鏡像的方法一般有2種:

1.通過拉取國內鏡像倉庫的內容(操作簡單直接拉取即可,缺點是鏡像的版本更新可能較慢,可能無法獲取最新的鏡像)

2.通過git+鏡像服務拉取鏡像(操作略繁瑣,但是可以拉取到最新的鏡像)

 

本篇記錄的是方法2,即通過git+鏡像服務獲取鏡像(git保存Dockerfile,鏡像服務根據Dockerfile構建)

 

考慮到既然是用docker的技術人員,git、鏡像服務的操作都是基礎,略微繁瑣的方案能獲取最新的鏡像服務是我所需要的。


一、創建git倉庫

這里我以獲取Kube-state-metrics鏡像(k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.0.0-beta)為例,演示如何獲取最新鏡像。

 

首先創建一個github倉庫,並上傳Dockerfile文件,文件內容為需要拉取的鏡像倉庫。

FROM <要拉取的鏡像>

 

下面以Kube-state-metrics為例:

 


二、創建鏡像倉庫

2.1 進入阿里雲的容器鏡像服務

這里我使用的是阿里雲的鏡像服務,登錄阿里雲之后,進入“容器鏡像服務”。

 

選擇一個數據中心進入個人版。

 

2.2 創建命名空間

 

2.3 創建鏡像倉庫

1)填寫倉庫信息,點擊“下一步”

 

2)選擇步驟一中創建的github的倉庫,勾選“海外機器構建”,點擊“創建鏡像倉庫”

PS.因為我的阿里雲已經綁定了github賬號,故截圖是直接選擇,如何綁定賬號請按照阿里雲的提示操作。

 

2.4 構建鏡像

1)進入剛創建的倉庫

 

2)點擊“構建”后,點擊“添加規則”

 

3)選擇類型為“Branch”,選擇分支(本例中Dockerfile推送到了master),接着填寫構建鏡像的tag,點擊“確定”

 

4)點擊“立即構建”

等待片刻后,就可以從阿里雲拉取鏡像了。通過“日志”可以查看鏡像的構建情況。

通過日志,實際操作是通過docker build拉取了該鏡像並保存到阿里雲倉庫。

 


三、獲取鏡像

3.1 登錄鏡像倉庫

由於阿里雲上創建是私有倉庫,故通過根據不同的數據中心登錄(我這里因為選擇是杭州1,故登錄registry.cn-hangzhou.aliyuncs.com)

docker login registry.cn-hangzhou.aliyuncs.com

 

3.2 拉取鏡像

docker pull <阿里雲構建的鏡像>

 

3.3 修改tag為原始的倉庫

docker tag <阿里雲構建的鏡像> <原始鏡像>

 

經過上面的操作,即可獲得原鏡像。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM