获取这类镜像的方法一般有2种:
1.通过拉取国内镜像仓库的内容(操作简单直接拉取即可,缺点是镜像的版本更新可能较慢,可能无法获取最新的镜像)
2.通过git+镜像服务拉取镜像(操作略繁琐,但是可以拉取到最新的镜像)
本篇记录的是方法2,即通过git+镜像服务获取镜像(git保存Dockerfile,镜像服务根据Dockerfile构建)。
考虑到既然是用docker的技术人员,git、镜像服务的操作都是基础,略微繁琐的方案能获取最新的镜像服务是我所需要的。
这里我以获取Kube-state-metrics镜像(k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.0.0-beta)为例,演示如何获取最新镜像。
首先创建一个github仓库,并上传Dockerfile文件,文件内容为需要拉取的镜像仓库。
FROM <要拉取的镜像>
下面以Kube-state-metrics为例:
这里我使用的是阿里云的镜像服务,登录阿里云之后,进入“容器镜像服务”。
选择一个数据中心进入个人版。
PS.因为我的阿里云已经绑定了github账号,故截图是直接选择,如何绑定账号请按照阿里云的提示操作。
等待片刻后,就可以从阿里云拉取镜像了。通过“日志”可以查看镜像的构建情况。
通过日志,实际操作是通过docker build拉取了该镜像并保存到阿里云仓库。
由于阿里云上创建是私有仓库,故通过根据不同的数据中心登录(我这里因为选择是杭州1,故登录registry.cn-hangzhou.aliyuncs.com)
docker login registry.cn-hangzhou.aliyuncs.com
docker pull <阿里云构建的镜像>
docker tag <阿里云构建的镜像> <原始镜像>
经过上面的操作,即可获得原镜像。