Docker镜像加速同步方案 – 基于GitHub Action与阿里云私有仓库

方案亮点

✅ 零成本运营 – 全程采用GitHub免费资源与阿里云标准存储服务
✅ 全平台兼容 – 支持同步DockerHub/gcr.io/k8s.io/ghcr.io等主流镜像仓库
✅ 大容量支持 – 独创分层传输技术,可稳定同步最大40GB的超大型镜像(专为AI模型镜像优化)
🚀 高效稳定 – 基于阿里云全球加速网络,实测同步速度提升500%+

支持镜像源

  • 官方仓库:Docker Hub (library/*)、RedHat Quay
  • 开发平台:GitHub Container Registry (ghcr.io)
  • 云服务商:GCR (gcr.io)、ECR (public.ecr.aws)
  • K8s生态:k8s.gcr.io、registry.k8s.io
  • 自定义源:支持任意私有镜像仓库地址

配置过程

登录阿里云容器镜像服务

https://cr.console.aliyun.com/
启用个人实例,创建一个命名空间(ALIYUN_NAME_SPACE),根据个人情况进行公开or私有

图片[1]-Docker镜像加速同步方案 – 基于GitHub Action与阿里云私有仓库-知行合一35社区

访问凭证–>获取环境变量

用户名(ALIYUN_REGISTRY_USER)
密码(ALIYUN_REGISTRY_PASSWORD)
仓库地址(ALIYUN_REGISTRY

图片[2]-Docker镜像加速同步方案 – 基于GitHub Action与阿里云私有仓库-知行合一35社区

Fork本项目

https://github.com/zhi35/docker-image-pusher

启动Action

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

图片[3]-Docker镜像加速同步方案 – 基于GitHub Action与阿里云私有仓库-知行合一35社区

配置环境变量

进入Settings->Secret and variables->Actions->New Repository secret

配置成环境变量

  • ALIYUN_NAME_SPACE:自己的命名空间,如上面图 zhi35
  • ALIYUN_REGISTRY_USER:仓库用户名,如上图标识处
  • ALIYUN_REGISTRY_PASSWORD:仓库密码,如上图标识处
  • ALIYUN_REGISTR:仓库地址,如上图标识处
图片[4]-Docker镜像加速同步方案 – 基于GitHub Action与阿里云私有仓库-知行合一35社区


添加镜像

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

图片[5]-Docker镜像加速同步方案 – 基于GitHub Action与阿里云私有仓库-知行合一35社区

文件提交后,Github Action会自动构建

图片[6]-Docker镜像加速同步方案 – 基于GitHub Action与阿里云私有仓库-知行合一35社区

使用镜像

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

图片[7]-Docker镜像加速同步方案 – 基于GitHub Action与阿里云私有仓库-知行合一35社区

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

docker pull registry.cn-shanghai.aliyuncs.com/zhi35com/mysql

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

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容