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

===============================================

 2021/2/15_第1次修改                       ccb_warlock

 

===============================================

在试验kubernetes相关内容时需要获取谷歌镜像仓库的镜像(比如搭建k8s、cAdvisor等),但是尝试挂代理也无法匿名下载到仓库的内容(原因不明,如果有知道的大佬可以在评论中指点一二)。

 

获取这类镜像的方法一般有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 <阿里云构建的镜像> <原始镜像>

 

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

 

posted @ 2021-02-15 21:46  粽先生  阅读(4620)  评论(0编辑  收藏  举报