通过Github拉取Docker hub中的镜像
本文最后更新于:2025年4月13日
本文参考自技术爬爬虾关于Dockerhub镜像拉取的解决方案,以下是原作者的B站视频页和Github仓库,喜欢的话请支持一下原作者!
| Bilibili原视频 | Bilibili账号 | Github | 
|---|---|---|
| 点我查看 | 点我查看 | 点我查看 | 
我们在使用docker pull命令时,即使配置了registry-mirrors,也经常出现无法连接或者链接超时的问题:

要想解决这一问题,我们需要通过Github从Dockerhub拉取镜像,然后再将镜像数据推送到阿里云镜像仓库,由于阿里云镜像仓库位于国内,从阿里云镜像仓库拉取个人镜像速度非常快,以下是相关教程:
一、准备操作
在正式开始之前,我们需要执行如下操作:
1. 开启对Github和Dockerhub的访问。请根据自己电脑操作系统查看对应教程:
| Windows | macOS | 
|---|---|
| 点我查看 | 点我查看 | 
开启加速后,可以点击下面两个网站:
| Github | Dockerhub | 
|---|---|
| 点我查看 | 点我查看 | 
2. 登录并注册阿里云、Github,以下是这两个网站的入口和相关说明:
| 网站入口 | 说明 | 参考图片 | |
|---|---|---|---|
| 阿里云 | 点我查看 | 可以使用支付宝、淘宝等阿里系软件注册/扫码登录。为了更好使用阿里云,推荐小伙伴进行实名认证。 |  | 
| Github | 点我查看 | 可以使用QQ邮箱、网易邮箱、谷歌邮箱等注册 |  | 
3. 这里我使用Electerm连接到服务器,需要安装的小伙伴,请根据自己电脑操作系统查看对应教程:
| Windows | macOS | 
|---|---|
| 点我查看 | 点我查看 | 
二、阿里云相关操作
1. 点击右侧链接进入容器镜像服务(个人版)控制台界面:点我查看
2. 按照下面的步骤创建命名空间:


3. 按照下图所示操作,绑定Github账号:



4. 设置访问阿里云镜像仓库密码,请按照下图所示操作:


三、Github相关操作
1. 点击进入Docker镜像推送仓库:点我查看
2. 按照下图所示操作将项目Fork到自己的仓库:


3. 此时项目成功Fork到我们自己的仓库中,点击Settings:

4. 配置环境变量。按照下图所示操作,进入配置环境变量界面:

5. 请按照下图所示操作将4个Name-Secret对存储到Github:
| Name | 在阿里云如何找到Secret | Github效果图 | 
|---|---|---|
| ALIYUN_NAME_SPACE |  |  | 
| ALIYUN_REGISTRY_USER |  |  | 
| ALIYUN_REGISTRY_PASSWORD |  |  | 
| ALIYUN_REGISTRY | registry.cn-hangzhou.aliyuncs.com |  | 
至此,阿里云和Github的配置完成!接下来,我们就试着拉取一个镜像。
四、将Dockerhub中的镜像通过Github推送到阿里云镜像仓库
说明:这里我拉取的是Redis相关镜像,其他镜像也可以参考下面的步骤:
1. 进入前面我们Fork的项目,点击上方的Actions,然后点击I understand my workflows, go ahead and enable them.同意协议:

2. 按照下图所示操作,进入到image.txt文件中:


3. 点击右上角的小铅笔,进入编辑模式:

4. 将文件中的内容全部清空,后续替换为我们自己的镜像名和版本:

5. 打开Dockerhub官网:点我查看
说明:由于国内网络原因,Dockerhub加载较慢,请耐心等待!
6. 在上方搜索框中搜索Redis,按一下回车,第一个就是Redis官方镜像:

7. 点击Tags即可查看所有镜像:

8. 这里我想拉取7.4.1、7.4、7.2.6三个版本的镜像:直接复制镜像名和版本号即可(前面的docker pull不要复制):



9. 将前面复制的镜像名和版本号依次粘贴到images.txt中,效果图如下:

10. 如果没有什么问题,点击右上角的Commit changes提交代码:

11. 此时会弹出一个窗口,点击Commit changes:

12. 点击上方的Actions,即可查看镜像拉取和推送到阿里云的过程,如果出现绿色的对号,就说明镜像已经成功推送到阿里云镜像仓库:
如果项目构建失败,可能是如下原因:
- 镜像或者版本号错误
- 前面配置的Name-Secret配置不正确

13. 点击进入阿里云容器镜像服务控制台:点我查看。此时我们可以看到Dockerhub镜像通过Github成功推送到了阿里云镜像仓库,点击进入:

14. 接下来我们就可以按照阿里云给出的步骤一步一步拉取镜像了:

15. 使用Electerm连接到Linux服务器,登录到阿里云镜像仓库:
| 1 |  | 
效果图如下,需要输入密码(不在控制台显示),登录成功如下图所示:

16. 从镜像仓库中拉取镜像:
| 1 |  | 
其中镜像版本号获取方式如下图:

效果图如下,拉取镜像走的是国内的网络,速度非常快且可靠!
