使用Github Action将Docker镜像转存到阿里云私有仓库,彻底解决在国内Docker镜像无法拉取的问题。
B站视频教程地址:《三种方案教你轻松搞定搞定国内镜像拉取的问题》 https://www.bilibili.com/video/BV1R4mBYRE4c
登录阿里云后,进入容器镜像服务 https://cr.console.aliyun.com/cn-hangzhou/instances
创建个人实例(免费),创建一个命名空间(后面会用于环境变量ALIYUN_NAME_SPACE)
对应后续需要配置的环境变量:
-
仓库地址(ALIYUN_REGISTRY)
-
用户名(ALIYUN_REGISTRY_USER)
-
密码(ALIYUN_REGISTRY_PASSWORD)
Fork DockerToAliRepo项目
进入您自己的项目,点击Action,启用Github Action工作流功能
更多的Github Action使用细节,参考官方文档:https://docs.github.com/zh/actions
进入Settings->Secret and variables->Actions->New Repository secret
将前面步骤中出现的四个变量
ALIYUN_NAME_SPACE,ALIYUN_REGISTRY, ALIYUN_REGISTRY_USER,ALIYUN_REGISTRY_PASSWORD
配置成环境变量
参考配置如下:
ALIYUN_NAME_SPACE=tulingfox
ALIYUN_REGISTRY=registry.cn-hangzhou.aliyuncs.com
ALIYUN_REGISTRY_USER=fox666
ALIYUN_REGISTRY_PASSWORD=输入自己设置的密码
打开images.txt文件,添加你想要的镜像
- 可以加tag,也可以不用(默认latest)
- 可添加 --platform=xxxxx 的参数指定镜像架构
- 可使用 k8s.gcr.io/kube-state-metrics/kube-state-metrics 格式指定私库
- 可使用 #开头作为注释
回到阿里云,镜像仓库,点击任意镜像,可查看镜像状态。(可以改成公开,拉取镜像免登录)
查看刚刚上传到仓库的redis镜像
此时就可以使用docker pull拉取redis镜像, 例如:
docker pull registry.cn-hangzhou.aliyuncs.com/tulingfox/redis:7.4.1
registry.cn-hangzhou.aliyuncs.com 即 ALIYUN_REGISTRY(阿里云仓库地址)
tulingfox即 ALIYUN_NAME_SPACE(阿里云镜像仓库的命名空间)
redis:7.4.1 即 阿里云镜像仓库中显示的镜像名