国内无法拉取 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