• Ukieweb

    佳的博客

    曾梦想仗剑天涯,后来工作忙没去。

github 和 dockerhub 关联 自动触发构建镜像

起因

由于国外的很多镜像访问不到(譬如谷歌的gcr.io),于是乎就只能走曲线救国路线啦。。。

创建账号

首先要有 github 和 dockerhub 的账号,没有的话就去创建吧。呃... 貌似是废话

建立关联

1. 登录 dockerhub https://hub.docker.com/

2. 切换到 Repositories 栏目

3. 点击创建仓库

image.png

4. 会看到 github 的标识。如果没有关联会现在 Disconnected 字样,我这里已经关联了,所以是 Connected

image.png

5. 根据提示点点就关联了,比较繁琐和傻瓜,这里就不说了

github 新建放置 Dockerfile 的仓库

在 github 上面我们新建一个仓库名字叫 dockerfile ; 里面新建一个文件夹 gcr.io-offical-kaniko置做镜像的相关文件。

image.png

dockerhub 新建仓库

1. 基本信息填写(自定义)

image.png

2. 选择 github 关联信息

选择 github 图标,接着选择 关联的账号 mrlaojia仓库 dockerfile

image.png

3. 重点来了: 设置构建规则(本步骤只说明不做操作)

默认会从仓库的 master 分支,根路径下的 Dockerfile 文件进行构建,构建后的镜像版本号为 latest

image.png

4. 更重要的点来了:构建 tag 规则

上图中,我们不用配置规则,直接点 create 创建仓库。然后进入下图路径,进行配置 tag 规则

image.png

新建配置 tag 规则

image.png

  • 第一行就是默认的规则,我们可以直接删除就行了(每行后面的垃圾桶就是删除)。

  • SourceTypeTag

  • Source/^kaniko-([0-9.]+)$/   匹配 github 上面打的 tag 名字。这里匹配如:kaniko-0.1.1

  • Docker Tagv-{\1}   构建镜像完毕后,镜像的版本号。如:v-0.1.1

  • Dockerfile location: Dockerfile 填写 Dokerfile 文件名字就可以了

  • Build Context/gcr.io-offical-kaniko/   Dockerfile 所在的路径。dockerhub会将 github仓库down下来,然后在这个目录下面 build

之所以要先创建仓库,再配置 tag 规则,是因为在上面第 3 步,创建仓库的时候,规则中没有 build Context 选项

github 仓库 编写 Dockerfile 打tag

 通过上面的操作,设置基本完成了,接下来就是打个 tag 来测试一下啦,测试过程就不写了。

下面是 git 打 tag 的相关命令

# 列出所有tag
$ git tag

# 新建一个tag在当前commit
$ git tag [tagName]

# 提交所有tag
$ git push origin --tag

# 删除本地tag
$ git tag -d [tagName]

# 删除远程tag
$ git push origin :refs/tags/[tagName]
$  git  push  origin --delete tag [tagName]


0
0
下一篇:Kubernetes 中使用 自制 kaniko 构建镜像

0 条评论

老佳啊

85后,大专学历,中原人士,家里没矿。

由于年轻时长的比较帅气,导致在别人眼里,我一直不谈恋爱的原因是清高,实则是自己的小自卑。最大的人生目标就是找一个相知相爱相容的人,共度余生。

和人相处时如果能感受到真诚,会非常注重彼此的关系,对别人没有什么心机,即使有利益冲突,一般也会以和为贵,因为在这个世界上,物质的东西,从来不会吸引到我。

特别迷恋那些大山大水,如果现在还能隐居,可能早就去了。对那些宏伟的有底蕴的人文景观比较不感冒。

从事于IT行业,却一直对厨房念念不忘,由于身材魁梧,总觉得自己上辈子是个将军,可惜这辈子没当兵,也不会打架。