谷歌的gcr.io镜像,在国内正常是没法下载的,不过可以借助阿里云容器镜像服务来实现这个功能!本文详细介绍下这个操作流程。
准备Github代码仓库
首先在Github上创建一个代码仓库,我建了个仓库,名为kubeflow
里面唯一的内容就是各个镜像对应的Dockerfile。
由于我要下载很多镜像,所以需要分下目录,用于辨别是哪个镜像。
Dockerfile中的内容特别简单,直接就是引用谷歌grc.io镜像名。说白了就是以这个为基础镜像,然后啥都不干,通过阿里云重新构建个镜像!
通过阿里云容器镜像服务构建容器
创建个人实例
地址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
要使用阿里云的容器镜像服务,首先需要创建一个【个人实例】,这个比较简单。
创建命名空间
创建命名空间,这个就更简单了
绑定代码源
我绑定的是Gibhub,这里只需要选择Github账号就行了
设置访问凭证(密码)
设置一个用于登录镜像仓库的密码
创建镜像仓库
前面的步骤准备好之后,可以创建镜像仓库了
点击下一步进入代码源界面,选择一个自己的代码仓库,然后构建设置中记得勾选【海外机器构建】
例如我的仓库:GitHub - xujingyissa/kubeflow: kubeflow gcr.io images
构建镜像
要构建镜像,首先需要添加规则,每一个镜像对应一个规则,因为Dockerfile所在目录是不一样的:
添加完构建规则后,点击【立即构建】,即可进行镜像构建
在【镜像版本】中,可以查看刚刚构建的镜像
拉取镜像
操作指南在镜像仓库的基本信息中就有
# 首先登录镜像仓库,登录密码就是在个人实例中设置的访问凭证(固定密码)
docker login --username=[阿里云账号] registry.cn-hongkong.aliyuncs.com
# 拉取镜像
docker pull registry.cn-hongkong.aliyuncs.com/xujingyi/kubeflow:[镜像版本号]