詳解使用阿里云鏡像倉庫構(gòu)建國外Docker鏡像
使用阿里云鏡像倉庫下載國外鏡像
在日常使用 Docker 或 K8S 的過程中,經(jīng)常會(huì)需要到國外的網(wǎng)站中下載鏡像,但是有些網(wǎng)站在國內(nèi)是無法訪問的。對(duì)于這個(gè)問題可以使用阿里云提供的鏡像倉庫進(jìn)行下載,然后 pull 到本地并修改 tag 來實(shí)現(xiàn)。
例如在使用 K8S 部署 Istio 時(shí),需要下載 gcr.io/istio-testing/install-cni:1.5-dev 鏡像,可以根據(jù)如下步驟在阿里云中進(jìn)行構(gòu)建和下載:
一、配置 Github
首先登錄 Github 中創(chuàng)建一個(gè)用于構(gòu)建鏡像的 repository,例如命名為 image-build
在電腦本地中創(chuàng)建一個(gè)文件夾,例如命名為 dockerImage
進(jìn)入 dockerImage 目錄,將 Github 中的 repository clone 到本地
https://github.com/CoderX-Aaron/image-build.git
clone 完成后,進(jìn)入 image-build 目錄,創(chuàng)建一個(gè)名為 install-cni 的 Dockerfile 文件,內(nèi)容如下:
FROM gcr.io/istio-testing/install-cni:1.5-dev
將剛才創(chuàng)建的 Dockerfile 文件提交到 git 中并指定分支名稱為 master (根據(jù) Github 中創(chuàng)建 repository 時(shí)默認(rèn)的第一個(gè)分支名稱來修改)
git add install-cni git commit -m "Create Dockerfile to build install-cni image" git branch -M master
將 git 中的內(nèi)容 push 到 Github 上面:
git push -u origin master
二、配置阿里云
在阿里云中配置鏡像倉庫和構(gòu)建的步驟如下:
登錄阿里云控制臺(tái),進(jìn)入容器鏡像服務(wù)
在左側(cè)選項(xiàng)卡中點(diǎn)擊代碼源
,綁定 Github 賬號(hào)
綁定完成后,在左側(cè)選項(xiàng)卡中點(diǎn)擊鏡像倉庫,開始創(chuàng)建命名空間、倉庫名稱和摘要信息,點(diǎn)擊下一步
在代碼源中選擇 Github,命名空間選擇 CoderX-Aaron (也就是 Github 的 username),倉庫選擇 image-build。在下面的構(gòu)建設(shè)置中勾選海外機(jī)器構(gòu)建
,然后點(diǎn)擊創(chuàng)建鏡像倉庫
創(chuàng)建倉庫完成后,點(diǎn)擊管理倉庫,并在左側(cè)選項(xiàng)卡中選擇構(gòu)建。首先在構(gòu)建規(guī)則中設(shè)置新的構(gòu)建規(guī)則,需要注意 Dockerfile 目錄的路徑和文件名稱,要和 Github 中保持一致
創(chuàng)建構(gòu)建規(guī)則后,點(diǎn)擊對(duì)應(yīng)規(guī)則后面的 “立即構(gòu)建” 按鈕,即可開始鏡像的構(gòu)建。
三、拉取鏡像
鏡像構(gòu)建成功后,即可在 “鏡像版本” 選項(xiàng)卡中看到構(gòu)建好的鏡像,接下來將鏡像 pull 到本地,步驟如下:
首先在本地機(jī)器中命令行中登錄阿里云鏡像倉庫,用于登錄的用戶名為阿里云賬號(hào)全名,密碼為開通服務(wù)時(shí)設(shè)置的密碼。
docker login --username=username registry.cn-hangzhou.aliyuncs.com
從 Registry 中拉取鏡像到本地
docker pull registry.cn-hangzhou.aliyuncs.com/ops-docker/istio:v1
修改鏡像的 tag
docker tag registry.cn-hangzhou.aliyuncs.com/ops-docker/istio:v1 gcr.io/istio-testing/install-cni:1.5-dev
這樣即可完成對(duì) install-cni 鏡像的下載,將 K8S 中的拉取鏡像策略修改為 IfNotPresent
或者 Never
即可。
四、將鏡像 Push 到阿里云
將本地鏡像 Push 到阿里云,首先需要將本地鏡像的 tag 進(jìn)行修改:
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/ops-docker/istio:[鏡像版本號(hào)]
接下來 Push 鏡像:
docker push registry.cn-hangzhou.aliyuncs.com/ops-docker/istio:[鏡像版本號(hào)]
到此這篇關(guān)于詳解使用阿里云鏡像倉庫構(gòu)建國外Docker鏡像的文章就介紹到這了,更多相關(guān)阿里云構(gòu)建國外Docker鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
CentOS 7.2 下安裝 Docker 1.12.3 版的詳細(xì)方法
這篇文章主要介紹了CentOS 7.2 安裝 Docker 1.12.3 版的相關(guān)資料,本文分步驟給大家介紹了CentOS 7.2 下安裝 Docker 1.12.3 版的詳細(xì)方法,需要的朋友可以參考下2016-11-11Docker安裝Jenkins-2.249.3-1.1的詳細(xì)過程
這篇文章主要介紹了Docker安裝Jenkins-2.249.3-1.1,通過編寫docke安裝腳本來實(shí)現(xiàn)安裝目的,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10Docker存儲(chǔ)目錄問題以及如何修改Docker默認(rèn)存儲(chǔ)位置
在Docker中,默認(rèn)情況下數(shù)據(jù)存儲(chǔ)路徑為/var/lib/docker,隨著容器和鏡像數(shù)量的增加,這可能會(huì)占用大量磁盤空間,這篇文章主要給大家介紹了關(guān)于Docker存儲(chǔ)目錄問題以及如何修改Docker默認(rèn)存儲(chǔ)位置的相關(guān)資料,需要的朋友可以參考下2024-08-08Docker上部署?nps?和?npc?實(shí)現(xiàn)內(nèi)網(wǎng)穿透
本文介紹了如何使用Docker部署nps和npc實(shí)現(xiàn)內(nèi)網(wǎng)穿透。nps是一款高性能的內(nèi)網(wǎng)穿透代理服務(wù)器,npc是nps的客戶端,可以將內(nèi)網(wǎng)服務(wù)映射到公網(wǎng)上。通過Docker的容器化技術(shù),可以方便地部署和管理nps和npc,同時(shí)保證了應(yīng)用的隔離性和安全性。2023-04-04安裝Docker Desktop報(bào)錯(cuò)WSL 2 installation is incomplete的問題(解決報(bào)錯(cuò))
這篇文章主要介紹了安裝Docker Desktop報(bào)錯(cuò)WSL 2 installation is incomplete的問題,解決方法很簡單只需我們自己手動(dòng)更新一下,我們根據(jù)提示去微軟官網(wǎng)下載最新版的wsl2安裝后即可正常打開,需要的朋友可以參考下2021-06-06用docker搭建selenium grid分布式環(huán)境實(shí)踐之路
這篇文章主要介紹了用docker搭建selenium grid分布式環(huán)境實(shí)踐之路,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03docker啟動(dòng)Nginx的兩種方式小結(jié)
本文介紹了兩種獲取Nginx鏡像的方式:直接從DockerHub拉取和通過Dockerfile構(gòu)建,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-10-10創(chuàng)建支持SSH服務(wù)的Docker鏡像的方法
這篇文章主要介紹了創(chuàng)建支持SSH服務(wù)的Docker鏡像的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08