美食家大橙子 发表于 2024-7-10 20:03:45

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

Docker Images Pusher

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


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


[*]登录 阿里云容器镜像服务
[*]启用个人实例,创建一个定名空间
https://img-blog.csdnimg.cn/direct/e433e7b720824eabaed3cac75f0d7639.png
https://img-blog.csdnimg.cn/direct/b7851c63a4934929abff4db8f2eae855.png
避免登录步骤贫困,我这里直接选了公开
https://img-blog.csdnimg.cn/direct/496f32b14b3a405e9f25fa115e3bc616.png
访问凭证 → 获取情况变量
定名空间: ALIYUN_NAME_SPACE
用户名: ALIYUN_REGISTRY_USER
密码:ALIYUN_REGISTRY_PASSWORD
堆栈地点:ALIYUN_REGISTRYhttps://img-blog.csdnimg.cn/direct/e0772daf737447f286c5ec006600b933.png
二、 Fork docker_image_pusher 项目

https://img-blog.csdnimg.cn/direct/69eb057238ad4192a75984a0f73b39ac.png
1. 启动Action

进入您自己的项目,点击Action,启用Github Action功能
https://img-blog.csdnimg.cn/direct/8c65668c8e684de2b2e20759f8a9db48.png
2. 设置情况变量

Settings -> Secret and variables -> Actions -> New Repository secret
https://img-blog.csdnimg.cn/direct/016422f8af5146ca8c1a951f7635a239.png
https://img-blog.csdnimg.cn/direct/e1434f0ac39c474586fd36d38361b24e.png
将上一步的四个值设置成情况变量
   ALIYUN_NAME_SPACE
ALIYUN_REGISTRY_USER
ALIYUN_REGISTRY_PASSWORD
ALIYUN_REGISTRY
3. 添加镜像

回到Code打开 images.txt 文件,添加你想要的镜像
https://img-blog.csdnimg.cn/direct/3d06a7c9afca43429b73485feb56c44a.png
可以加tag,也可以不用(默认latest)
可添加 --platform=xxxxx 的参数指定镜像架构
可使用 k8s.gcr.io/kube-state-metrics/kube-state-metrics 格式指定私库
可使用 #开头作为注释
https://img-blog.csdnimg.cn/direct/8413dedee32a4d0787ff15a955c8fed8.png

[*]文件提交后,自动进入Github Action构建
https://img-blog.csdnimg.cn/direct/dbf9cd049aba4915bb885a0f979f2afe.png
在 Actions 可以看到处置惩罚的进度
https://img-blog.csdnimg.cn/direct/d15c0557c1094962b523f89aa4a4571a.png
5. 使用镜像

回到阿里云,镜像堆栈,点击恣意镜像,可查看镜像状态。(可以改成公开,拉取镜像免登录)
https://img-blog.csdnimg.cn/direct/9301a687dad34278b031df5ffa996bbc.png
在国内服务器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 手动指定镜像架构
指定后的架构会从前缀的形式放在镜像名字前面
https://img-blog.csdnimg.cn/direct/f374da9ddab94e9e8a09ad9c013b8197.png
7. 镜像重名

程序自动判断是否存在名称雷同, 但是属于差别定名空间的情况。
如果存在,会把定名空间作为前缀加在镜像名称前。
比方:
xhofe/alist
xiaoyaliu/alist
https://img-blog.csdnimg.cn/direct/ba2c6239d5f14df3864512009e0e320f.png
8. 定时实行

修改/.github/workflows/docker.yaml文件
添加 schedule即可定时实行(此处cron使用UTC时区)
https://img-blog.csdnimg.cn/direct/ef4ecf816cf84c85bcc65e7638874b02.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Docker:使用Github Action转存Docker镜像到阿里云私有堆栈达到国内加速目