一. 前言

前几天在docker pull时发现,出现网络问题,更换镜像源也无济于事,后经多方查询得知,很多dockerhub镜像被迫下架。

enter image description here

今天在B站闲逛,看到首页推荐了BV1Zn4y19743这个视频,随即跟着教程做实验。经测试,能完美解决镜像拉不下来的问题。因此,本文基于该视频,做一个详细的图文教程,希望对各位有所帮助,也在此感谢@技术爬爬虾

二、使用教程

1. 创建并配置阿里云容器镜像个人实例

注册、登录阿里云账号,打开容器镜像服务 https://cr.console.aliyun.com/

点击个人版上面的 “+”号,并根据图中所示顺序创建个人版。
enter image description here
enter image description here

点击设置Registry密码,这里你需要设置一个你能记住的密码,后面要用到
enter image description here
enter image description here

完成之后我们需要设置命名空间
enter image description here
这里填写命名空间,我写的是 vrxiaojie-images,你可以根据自己的需要更改。
enter image description here

2. 配置docker_image_pusher

这里也感谢大佬提供的仓库,仓库地址:https://github.com/tech-shrimp/docker_image_pusher
首先点进上面的仓库地址,我们要先fork一下仓库,然后Create Fork
enter image description here
enter image description here

点击Settings
enter image description here
向下拉,找到左边列表的Secrets and variables,点击小箭头,点击Actions
enter image description here
点击New repository secret
enter image description here

在这里,我们就需要配置4个环境变量。它们依次为:ALIYUN_NAME_SPACE,ALIYUN_REGISTRY_USER,ALIYUN_REGISTRY_PASSWORD,ALIYUN_REGISTRY。
其中:
ALIYUN_NAME_SPACE为你在第1步填写的命名空间名;
ALIYUN_REGISTRY_USER为你的阿里云账户名;
ALIYUN_REGISTRY_PASSWORD为你在第1步设置的Registry密码;
ALIYUN_REGISTRY 在仓库管理–访问凭证–右侧代码块中的网址,如下图所示。
enter image description here
以ALIYUN_REGISTRY 为例,添加这个环境变量,其他3个环境变量操作相同,不再截图演示。
enter image description here
添加好后应该如下图所示,一共4个环境变量。
enter image description here

看向仓库上方一栏,我们点击actions,然后点击 I understand
enter image description here
enter image description here

3. 添加你想要的镜像

点击Code,点击这个文件 images.txt
enter image description here
点击右上角的铅笔图标,编辑内容
enter image description here
把原先的内容删掉,我这里加个qb的镜像,版本号指定为4.6.5。
写完后点击右上角的Commit changes
enter image description here
enter image description here
回到actions页面,能看到有一个任务正在进行了。
enter image description here
稍作等待,待它变成绿色对勾,即可进行下一步操作。

4. 拉取镜像

回到阿里云容器镜像页面,能看到我们刚刚拉下来的镜像qbittorrent,点进去。enter image description here
在此页面上,我们需要关注红框内的两行命令。
enter image description here
使用SSH,连接到你需要拉镜像的设备上,并切换为root用户。
输入第一行命令,回车,输入你先前在第1步设置的Registry密码,回车。
看到Login Succeeded即表示第一行命令执行成功。
enter image description here
接下来执行第二行命令,把命令中的[镜像版本号],换成你刚刚拉下来的镜像版本,如果忘记了,可以在这里查看。
enter image description here
例如,我这里的版本号是4.6.5,则命令为

docker pull registry.cn-qingdao.aliyuncs.com/vrxiaojie-images/qbittorrent:4.6.5

出现这样的状态就表明拉取成功了!
enter image description here

至此,该教程结束。以后如果想增加新的镜像,只需要编辑github–Code–images.txt文件即可