利用阿里云拉取墙外镜像

利用阿里云拉取墙外镜像

 K8S很多镜像都是国内无法拉取的,利用阿里的镜像仓库可以很容易拉取这些镜像,我的方式如下:

1.创建存放Dockerfile的仓库

 很简单,直接创建一个仓库用于存放Dockerfile的仓库,比如我的docker-ali-autobuild,经过不断摸索,建议文件结构采用如下方式(即 image-name -> version -> Dockerfile)比较合理

利用阿里云拉取墙外镜像_第1张图片

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

创建构建规则并开始构建

利用阿里云拉取墙外镜像_第2张图片

构建完成后,引用该镜像即可从阿里云拉取。

【附】:git tag的简单语法

  • 创建tag:git tag -a -m "some describe"
  • 查看本地tag:git tag
  • 推送tag:git push origin
  • 本地删除tag:git tag -d
  • 删除远程tag:git push origin :refs/tags/

你可能感兴趣的:(docker)