国内不能使用docker拉取镜像了,自建一个阿里云的docker库进行拉取自用。本文详细介绍了操作步骤方便使用。项目采用技术爬爬虾的docker_image_pusher。

一、配置阿里云容器镜像

登录阿里云容器镜像服务
https://cr.console.aliyun.com/
启用个人实例,创建一个命名空间(ALIYUN_NAME_SPACE) 

访问凭证–>获取环境变量
用户名(ALIYUN_REGISTRY_USER)
密码(ALIYUN_REGISTRY_PASSWORD)
仓库地址(ALIYUN_REGISTRY

二、Fork本项目

 

Fork本项目

启动Action

 

进入您自己的项目,点击Action,启用Github Action功能

配置环境变量

 

进入Settings->Secret and variables->Actions->New Repository secret  将上一步的四个值
ALIYUN_NAME_SPACE,ALIYUN_REGISTRY_USER,ALIYUN_REGISTRY_PASSWORD,ALIYUN_REGISTRY
配置成环境变量

三、添加镜像

 

打开images.txt文件,添加你想要的镜像 可以加tag,也可以不用(默认latest)
可添加 –platform=xxxxx 的参数指定镜像架构
可使用 k8s.gcr.io/kube-state-metrics/kube-state-metrics 格式指定私库
可使用 #开头作为注释
 文件提交后,自动进入Github Action构建

四、使用镜像

 

回到阿里云,镜像仓库,点击任意镜像,可查看镜像状态。(可以改成公开,拉取镜像免登录) 

在国内服务器pull镜像, 例如:

docker pull registry.cn-hangzhou.aliyuncs.com/shrimp-images/alpine

registry.cn-hangzhou.aliyuncs.com 即 ALIYUN_REGISTRY(阿里云仓库地址)
shrimp-images 即 ALIYUN_NAME_SPACE(阿里云命名空间)
alpine 即 阿里云中显示的镜像名

五、多架构

 

需要在images.txt中用 –platform=xxxxx手动指定镜像架构 指定后的架构会以前缀的形式放在镜像名字前面 

六、镜像重名

 

程序自动判断是否存在名称相同, 但是属于不同命名空间的情况。 如果存在,会把命名空间作为前缀加在镜像名称前。 例如:

xhofe/alist
xiaoyaliu/alist

七、定时执行

 

修改/.github/workflows/docker.yaml文件 添加 schedule即可定时执行(此处cron使用UTC时区) 

声明:
本站所有文章,如无特殊说明或标注,均为本站原创发布。
任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。