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

在试验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为例:


image.png

二、创建镜像仓库

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

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


image.png

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


image.png

2.2 创建命名空间

image.png

2.3 创建镜像仓库

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


image.png

2)选择步骤一中创建的github的仓库,勾选“海外机器构建”,点击“创建镜像仓库”
PS.因为我的阿里云已经绑定了github账号,故截图是直接选择,如何绑定账号请按照阿里云的提示操作。


image.png

2.4 构建镜像

1)进入刚创建的仓库


image.png

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


image.png

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

image.png

4)点击“立即构建”

image.png

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

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

image.png

三、获取镜像

3.1 登录镜像仓库

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

docker login --username=yonghuming registry.cn-zhangjiakou.aliyuncs.com

输入密码

3.2 拉取镜像

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

docker pull registry.cn-zhangjiakou.aliyuncs.com/han20023302/k8s:v2.0.0

image.png

3.3 修改tag为原始的仓库

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

docker tag registry.cn-zhangjiakou.aliyuncs.com/han20023302/k8s:v2.0.0 k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.0.0

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

image.png

本文转载自:https://www.cnblogs.com/straycats/p/14405513.html

你可能感兴趣的:(k8s.gcr.io、gcr.io仓库的镜像下载)