国内无法拉取 Docker 镜像解决方案
使用 GitHub Actions 将国外 Docker 镜像转存到阿里云私有仓库,解决国内无法拉取 Docker 官方镜像的痛点。
2024 年 7 月份后,国内无法拉取 Docker 官方仓库的镜像,同时很多国内的镜像网站也无法使用,对于软件开发和项目部署造成了很大麻烦。
使用 GitHub Actions 将国外的 Docker 镜像转存到阿里云私有镜像仓库,供国内服务器拉取使用,免费且易用:
- 支持 DockerHub, gcr.io, k8s.io, ghcr.io 等任意仓库
- 支持最大 40GB 的大型镜像
- 使用阿里云的官方线路,拉取速度快
- 自定义配置想要同步的镜像与版本标签,方便快捷进行同步和使用
配置阿里云容器镜像服务
登录阿里云容器镜像服务:https://cr.console.aliyun.com/
新建命名空间:

设置固定密码:
设置好密码后,可以通过 docker login 进行登录了。

配置 GitHub Actions 变量

设置以下四个 Repository Secrets 变量(在第一步配置阿里云中获取):
- ALIYUN_REGISTRY: registry.cn-chengdu.aliyuncs.com <根据你的区域设置>
- ALIYUN_NAME_SPACE: <你的命名空间>
- ALIYUN_REGISTRY_USER: <你的阿里云用户名>
- ALIYUN_REGISTRY_PASSWORD: <你的固定密码>源代码仓库参考:
可以直接 Fork 该项目,修改 images.txt 文件,替换成你想要 Mirror 的 Docker 镜像与版本号。
GitHub Actions 自动运行
在 images.txt 中加入想要镜像的名称和版本号,提交代码后,GitHub Actions 会自动触发构建并执行转存。

查看与拉取阿里云镜像
转存成功后的镜像列表展示如下:

查看对应镜像的版本列表,选择需要的版本标签进行拉取:

在本地或服务器登录阿里云 Docker Registry 后,直接执行 docker pull 即可高速拉取:

运维推荐阅读
如果你对系统运维、服务部署与合规备案感兴趣,推荐阅读:
👉 查阅更多环境部署与基础设施治理实战,欢迎访问 运维专栏完整目录。


