国内无法拉取 Docker 镜像的解决方案
见字如面,与大家分享实践中的经验与思考。
2024 年 7 月份后,国内无法拉取 Docker 官方仓库的镜像,同时很多国内的镜像网站也无法使用,对于软件开发来说造成了很大的麻烦。
使用 Github Action 将国外的Docker镜像转存到阿里云私有仓库,供国内服务器使用,免费易用
支持 DockerHub, gcr.io, k8s.io, ghcr.io 等任意仓库
支持最大40GB的大型镜像
使用阿里云的官方线路,速度快
自定义配置想要同步的镜像 image ,方便快捷进行同步和使用
配置阿里云
登录阿里云容器镜像服务: https://cr.console.aliyun.com/
新建命名空间:
设置固定密码:
设置好密码后,可以通过 docker login 进行登陆了。
配置 Github Action 变量
设置以下四个变量,在第一步配置阿里云就已经获取了,以下是样例:
- ALIYUN_REGISTRY:registry.cn-chengdu.aliyuncs.com <changeme>
- ALIYUN_NAME_SPACE: flyeric <changeme>
- ALIYUN_REGISTRY_USER: amuguelove1991 <changme>
- ALIYUN_REGISTRY_PASSWORD:xxx <changeme>
源代码查看:
可以直接 fork 项目,修改 images.txt 文件,替换成你想要 mirror 的 docker 镜像。
Github Action 运行
在 images.txt 中加入想要 mirror 镜像名称和版本号,提交代码后,github action 会进行自动构建。
查看阿里云镜像
同步过后的镜像列表:
查看对应镜像的版本列表,选择对于的版本进行 pull:
本地登陆阿里云 Docker Registry 后,直接 docker pull 镜像即可。
License:
CC BY 4.0