手记

k8s.gcr.io、gcr.io仓库的镜像下载

获取这类镜像的方法一般有2种:

1.通过拉取国内镜像仓库的内容(操作简单直接拉取即可,缺点是镜像的版本更新可能较慢,可能无法获取最新的镜像)

2.通过git+镜像服务拉取镜像(操作略繁琐,但是可以拉取到最新的镜像)

本篇记录的是方法2,即通过git+镜像服务获取镜像(git保存Dockerfile,镜像服务根据Dockerfile构建)。

考虑到既然是用docker的技术人员,git、镜像服务的操作都是基础,略微繁琐的方案能获取最新的镜像服务是我所需要的。


一、创建git仓库

这里我以获取Kube-state-metrics镜像(k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.0.0-beta)为例,演示如何获取最新镜像。

首先创建一个github仓库,并上传Dockerfile文件,文件内容为需要拉取的镜像仓库。

FROM <要拉取的镜像>

下面以Kube-state-metrics为例:


二、创建镜像仓库

2.1 进入阿里云的容器镜像服务

这里我使用的是阿里云的镜像服务,登录阿里云之后,进入“容器镜像服务”。

选择一个数据中心进入个人版。

2.2 创建命名空间

2.3 创建镜像仓库

1)填写仓库信息,点击“下一步”

2)选择步骤一中创建的github的仓库,勾选“海外机器构建”,点击“创建镜像仓库”

PS.因为我的阿里云已经绑定了github账号,故截图是直接选择,如何绑定账号请按照阿里云的提示操作。

2.4 构建镜像

1)进入刚创建的仓库

2)点击“构建”后,点击“添加规则”

3)选择类型为“Branch”,选择分支(本例中Dockerfile推送到了master),接着填写构建镜像的tag,点击“确定”

4)点击“立即构建”

等待片刻后,就可以从阿里云拉取镜像了。通过“日志”可以查看镜像的构建情况。

通过日志,实际操作是通过docker build拉取了该镜像并保存到阿里云仓库。


三、获取镜像

3.1 登录镜像仓库

由于阿里云上创建是私有仓库,故通过根据不同的数据中心登录(我这里因为选择是杭州1,故登录registry.cn-hangzhou.aliyuncs.com)

docker login registry.cn-hangzhou.aliyuncs.com

3.2 拉取镜像

docker pull <阿里云构建的镜像>

3.3 修改tag为原始的仓库

docker tag <阿里云构建的镜像> <原始镜像>

经过上面的操作,即可获得原镜像。

0人推荐
随时随地看视频
慕课网APP