Docker:使用Github Action转存Docker镜像到阿里云私有堆栈达到国内加速目 ...

打印 上一主题 下一主题

主题 682|帖子 682|积分 2046

Docker Images Pusher

   使用Github Action将国外的Docker镜像转存到阿里云私有堆栈,供国内服务器使用,免费易用
  

  • 支持DockerHub, gcr.io, k8s.io, ghcr.io等恣意堆栈
  • 支持最大40GB的大型镜像
  • 使用阿里云的官方线路,速度快
  视频教程:https://www.bilibili.com/video/BV1Zn4y19743/
  作者:技能爬爬虾
  一、 设置阿里云


  • 登录 阿里云容器镜像服务
  • 启用个人实例,创建一个定名空间


避免登录步骤贫困,我这里直接选了公开

访问凭证 → 获取情况变量
定名空间: ALIYUN_NAME_SPACE
用户名: ALIYUN_REGISTRY_USER
密码:ALIYUN_REGISTRY_PASSWORD
堆栈地点:ALIYUN_REGISTRY

二、 Fork docker_image_pusher 项目


1. 启动Action

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

2. 设置情况变量

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


将上一步的四个值设置成情况变量
   ALIYUN_NAME_SPACE
ALIYUN_REGISTRY_USER
ALIYUN_REGISTRY_PASSWORD
ALIYUN_REGISTRY
  3. 添加镜像

回到Code打开 images.txt 文件,添加你想要的镜像

  1. 可以加tag,也可以不用(默认latest)
  2. 可添加 --platform=xxxxx 的参数指定镜像架构
  3. 可使用 k8s.gcr.io/kube-state-metrics/kube-state-metrics 格式指定私库
  4. 可使用 #开头作为注释
复制代码


  • 文件提交后,自动进入Github Action构建

    在 Actions 可以看到处置惩罚的进度

5. 使用镜像

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

在国内服务器pull镜像, 比方:
  1. docker pull registry.cn-hangzhou.aliyuncs.com/shrimp-images/alpine
复制代码
registry.cn-hangzhou.aliyuncs.com 即 ALIYUN_REGISTRY(阿里云堆栈地点)

shrimp-images 即 ALIYUN_NAME_SPACE(阿里云定名空间)

alpine 即 阿里云中表现的镜像名

6. 多架构

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

7. 镜像重名

程序自动判断是否存在名称雷同, 但是属于差别定名空间的情况。
如果存在,会把定名空间作为前缀加在镜像名称前。
比方:
  1. xhofe/alist
  2. xiaoyaliu/alist
复制代码

8. 定时实行

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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美食家大橙子

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表