使用阿里云镜像仓库解决无法拉取docker镜像的问题
一. 前言
前几天在docker pull时发现,出现网络问题,更换镜像源也无济于事,后经多方查询得知,很多dockerhub镜像被迫下架。
今天在B站闲逛,看到首页推荐了BV1Zn4y19743这个视频,随即跟着教程做实验。经测试,能完美解决镜像拉不下来的问题。因此,本文基于该视频,做一个详细的图文教程,希望对各位有所帮助,也在此感谢@技术爬爬虾 。
二、使用教程
1. 创建并配置阿里云容器镜像个人实例
注册、登录阿里云账号,打开容器镜像服务 https://cr.console.aliyun.com/
点击个人版上面的 “+”号,并根据图中所示顺序创建个人版。
点击设置Registry密码,这里你需要设置一个你能记住的密码,后面要用到
完成之后我们需要设置命名空间
这里填写命名空间,我写的是 vrxiaojie-images,你可以根据自己的需要更改。
2. 配置docker_image_pusher
这里也感谢大佬提供的仓库,仓库地址:https://github.com/tech-shrimp/docker_image_pusher
首先点进上面的仓库地址,我们要先fork一下仓库,然后Create Fork
点击Settings
向下拉,找到左边列表的Secrets and variables,点击小箭头,点击Actions
点击New repository secret
在这里,我们就需要配置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 在仓库管理–访问凭证–右侧代码块中的网址,如下图所示。
以ALIYUN_REGISTRY 为例,添加这个环境变量,其他3个环境变量操作相同,不再截图演示。
添加好后应该如下图所示,一共4个环境变量。
看向仓库上方一栏,我们点击actions,然后点击 I understand
3. 添加你想要的镜像
点击Code,点击这个文件 images.txt
点击右上角的铅笔图标,编辑内容
把原先的内容删掉,我这里加个qb的镜像,版本号指定为4.6.5。
写完后点击右上角的Commit changes
回到actions页面,能看到有一个任务正在进行了。
稍作等待,待它变成绿色对勾,即可进行下一步操作。
4. 拉取镜像
回到阿里云容器镜像页面,能看到我们刚刚拉下来的镜像qbittorrent,点进去。
在此页面上,我们需要关注红框内的两行命令。
使用SSH,连接到你需要拉镜像的设备上,并切换为root用户。
输入第一行命令,回车,输入你先前在第1步设置的Registry密码,回车。
看到Login Succeeded即表示第一行命令执行成功。
接下来执行第二行命令,把命令中的[镜像版本号],换成你刚刚拉下来的镜像版本,如果忘记了,可以在这里查看。
例如,我这里的版本号是4.6.5,则命令为
docker pull registry.cn-qingdao.aliyuncs.com/vrxiaojie-images/qbittorrent:4.6.5
出现这样的状态就表明拉取成功了!
至此,该教程结束。以后如果想增加新的镜像,只需要编辑github–Code–images.txt文件即可