tech-shrimp / docker_image_pusher

使用Github Action将国外的Docker镜像转存到阿里云私有仓库,供国内服务器使用,免费易用
Apache License 2.0
941 stars 5.07k forks source link

Docker 镜像推送器 #59

Closed xfdongxin closed 2 weeks ago

xfdongxin commented 2 weeks ago

Docker 镜像推送器

使用Github Action将国外的Docker镜像放到阿里云私有仓库,提供国内服务器使用,免费易用< br > -支持DockerHub, gcr.io, k8s.io, ghcr.io等任意仓库< br > -支持最大40GB的大型镜像< br > -使用阿里云的官方渠道,速度快< br >

视频教程:https://www.bilibili.com/video/BV1Zn4y19743/

使用方式

配置阿里云

登录阿里云容器镜像服务< br > https://cr.console.aliyun.com/ 启用个人实例,创建命名空间( ALIYUN_NAME_SPACE ) ![ ] (/doc/命名空间.png)

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

![ ] ( /doc/用户名密码.png )

Fork本项目

Fork本项目< br >

启动Action

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

配置环境变量

进入Settings->Secret和变量->Actions->New Repository secret ![ ] ( doc/配置环境变量.png ) 下一步的四个值 < br > ALIYUN_NAME_SPACE,ALIYUN_REGISTRY_USER,ALIYUN_REGISTRY_PASSWORD,ALIYUN_REGISTRY < br > 配置环境变量

添加镜像

打开images.txt文件,添加理想的镜像 可以加tag,也可以不用(默认latest) < br > 可添加 --platform=xxxxx 的参数指定镜像架构< br > 可使用 k8s.gcr.io/kube-state-metrics/kube-state-metrics 格式指定私库< br > 嘉宾#结论作为注释< br > ![ ] (doc/图片.png) 文件提交后,自动进入Github Action构建

使用镜像

回到阿里云,镜像仓库,点击任意镜像,可查看镜像状态。(可以改成公开,拉取镜像免登录) ![ ] ( doc/开始使用.png )

在国内服务器拉镜像,例如:< br>

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

registry.cn-hangzhou.aliyuncs.com 即 ALIYUN_REGISTRY(阿里云仓库地址) < br > shrimp-images 即 ALIYUN_NAME_SPACE(阿里云命名空间) < br > alpine 即阿里云 显示屏名称< br >

多建筑

依赖于images.txt中用--platform=xxxxx手动指定镜像架构 指定的后架构将以先前的形式位于镜像名称之前 ![ ] ( doc/多架构.png )

镜像名称

程序尚未完成,但仍然非常繁琐。 如果存在,将把该区域作为在名称前重新建立区域。 例如:

xhofe/alist
小鸭咩

![ ] ( doc/镜像重名.png )

定时执行

修改/.github/workflows/docker.yaml文件 增值计划 即可定时执行(此处cron使用UTC时区) ![ ] ( doc/定时执行.png )