本文主要是介绍利用阿里云拉取墙外镜像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
利用阿里云拉取墙外镜像
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.0liuwg-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>
这篇关于利用阿里云拉取墙外镜像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!