利用阿里雲拉取牆外鏡像

利用阿里雲拉取牆外鏡像

 K8S很多鏡像都是國內無法拉取的,利用阿里的鏡像倉庫可以很容易拉取這些鏡像,我的方式如下:

1.創建存放Dockerfile的倉庫

 很簡單,直接創建一個倉庫用於存放Dockerfile的倉庫,比如我的docker-ali-autobuild,經過不斷摸索,建議文件結構採用如下方式(即 image-name -> version -> Dockerfile)比較合理

目錄結構

Dockerfile中直接使用FROM指令引入我們所需要的鏡像即可,比如我這裏的quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.25.0

2.創建阿里雲鏡像倉庫並綁定代碼源

 命名空間隨便搞,比如我這裏就是hhu,然後創建對應鏡像的倉庫,代碼源選擇第一步創建的docker-ali-autobuild 即可,過程如下:

[外鏈圖片轉存失敗(img-w5BULPmh-1563537714051)(https://i.postimg.cc/Hnwfg5W9/image.gif)]

注:務必選中“使用海外機器構建”。

3.創建鏡像構建任務

 由於結構原因我們不能使用阿里雲的自動構建的功能,但可以tag的方式來構建,創建tag並推送:

liuwg-a@liuwg-a-p01 MINGW64 /f/個人相關/docker-ali-autobuild (master)
$ git tag -a release-v0.25.0 -m "nginx-ingress-controller:0.25.0"

liuwg-a@liuwg-a-p01 MINGW64 /f/個人相關/docker-ali-autobuild (master)
$ git tag
release-v0.25.0

liuwg-a@liuwg-a-p01 MINGW64 /f/個人相關/docker-ali-autobuild (master)
$ git push origin release-v0.25.0
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 179 bytes | 89.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To github.com:Jacksonary/docker-ali-autobuild.git
 * [new tag]         release-v0.25.0 -> release-v0.25.0

創建構建規則並開始構建

創建規則並構建

構建完成後,引用該鏡像即可從阿里雲拉取。

【附】:git tag的簡單語法

  • 創建tag:git tag -a <tag-name> -m "some describe"
  • 查看本地tag:git tag
  • 推送tag:git push origin <tag-name>
  • 本地刪除tag:git tag -d <tag-name>
  • 刪除遠程tag:git push origin :refs/tags/<tag-name>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章