Docker:使用Github Action转存Docker镜像到阿里云私有仓库达到国内加速目的

Docker Images Pusher

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

  • 支持DockerHub, gcr.io, k8s.io, ghcr.io等任意仓库
  • 支持最大40GB的大型镜像
  • 使用阿里云的官方线路,速度快

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

作者:技术爬爬虾

一、 配置阿里云

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

Alt
Alt
避免登录步骤麻烦,我这里直接选了公开
Alt
访问凭证 → 获取环境变量
命名空间: ALIYUN_NAME_SPACE
用户名: ALIYUN_REGISTRY_USER
密码:ALIYUN_REGISTRY_PASSWORD
仓库地址:ALIYUN_REGISTRY在这里插入图片描述

二、 Fork docker_image_pusher 项目

Fork本项目

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 文件,添加你想要的镜像
在这里插入图片描述

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

在这里插入图片描述

  1. 文件提交后,自动进入Github Action构建
    在这里插入图片描述
    在 Actions 可以看到处理的进度
    在这里插入图片描述
5. 使用镜像

回到阿里云,镜像仓库,点击任意镜像,可查看镜像状态。(可以改成公开,拉取镜像免登录)
在这里插入图片描述
在国内服务器pull镜像, 例如:

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. 镜像重名

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

xhofe/alist
xiaoyaliu/alist

在这里插入图片描述

8. 定时执行

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

在这里插入图片描述

阿里云镜像仓库绑定GitHub源代码需要进行一系列的权限设置和验证操作,确保安全可靠。以下是可能导致没有访问权限的几种情况及解决方法: 1. GitHub访问权限设置不当:在进行绑定操作之前,需要确保GitHub已正确设置镜像仓库访问权限。可以通过登录GitHub官网,进入目标代码仓库的设置选项,确保克隆或拉取的权限设置为公共或针对特定用户授予读取访问权限。 2. 阿里云镜像仓库权限设置不当:阿里云镜像仓库在绑定GitHub源代码时,可能需要进行授权或验证操作,以确保只有合法用户可以访问。可以登录阿里云官网,进入对应的镜像仓库设置界面,检查并设置合适的权限。 3. 访问凭证设置不正确:在进行绑定操作时,需要提供正确的GitHub访问凭证(如Token或SSH密钥)来验证身份并获取访问权限。请确保提供的凭证信息是有效且正确的,可通过检查和更新凭证信息来解决访问权限问题。 4. 网络或服务器故障:在特殊情况下,无法访问GitHub源代码的问题可能是由于网络或服务器故障引起的。可以尝试通过检查网络连接、重启服务器等常规操作来解决问题。 总而言之,要解决阿里云镜像仓库绑定GitHub源代码没有访问权限的问题,首先需要确保GitHub源代码和阿里云镜像仓库的权限设置正确,然后检查访问凭证是否有效,并排除网络或服务器故障等可能原因。如仍然存在问题,建议咨询相关技术支持或阅读官方文档获取更详细的操作指南。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值