前段时间在 Linux 使用 docker pull redis,因为新建了一个虚拟机,再搞一份镜像,但是等了很久,都没有反应,然后就报错请求不了。然后到处查发现很多镜像不能用了,能用的也是今天行明天不行,那么能不能来一种稳定的方式,哎,阿里云的容器镜像服务,提供了个人容器镜像托管服务。
前言
注意:使用了 GitHub 上的一个项目,项目的原理(我猜测)是通过脚本将 docker hub 上的镜像添加到阿里云个人的命名空间(阿里云中的叫法)中,所以,需要大家有魔法,也就是可以访问docker hub 并流畅下载的能力,我的意思应该很明白了,没有魔法这篇文章就不用看了。
正文
项目地址:我是链接。要支持作者呀!!!
作者也给出了很详细的教程,我觉的完全可以看的懂。
不过以防万一,同时为了复盘加深印象,所以我给出了我的一个流程。
正正文
阿里云容器镜像服务
进入容器镜像服务
点击个人实例,第一次会运行什么的一堆玩意,反正开启就对了
随后创建一个命名空间
记住访问凭证下的两个信息,一个是--username=后的就是你的账号,另一个是你的公网地址。还是这个页面,上面可以设置固定密码,跟你的阿里账号一致就可以,当然也可以不一样,你要记得住。
然后我们先放一边
fork 项目
项目地址:我是链接
开启你的魔法,进入项目。
点击 fork ,就是将这个项目搞到你的仓库中,名称随便起。
然后进入你的项目仓库
点击settings
如上图,第一次进入并没有数据,上面的数据是我添加的,你们也要添加4项:
ALIYUN_NAME_SPACE :命名空间
ALIYUN_REGISTRY :项目的公网地址
ALIYUN_REGISTRY_PASSWORD :刚才设置的固定密码
ALIYUN_REGISTRY_USER :和公网地址一起的你的用户名称
按照自己的信息添加完成之后回到主页面,并点击 images.txt
点击修改
里面填的内容就是你想要在你的阿里云镜像空间中添加的镜像。至于具体填什么,我们打开 docker hub,并随机搜索一个,比如 mysql,会弹出很多个,选第一个就行,然后点击 tags 就能看到对应的版本代码
比如你想要第一个,就把 mysql:8.0.40-debian 复制下来,也就是 docker pull 后面的一段,他写什么,你就复制什么,不用怀疑。回到项目中的 images.txt,粘贴进去。
一行只能写一个镜像版本,多的换行继续写,可以用# 写上注释,然后右上角点击提交
然后我们点击 actions ,第一次点击有个什么注意什么的,点绿色的就行
你的项目提交之后就会触发脚本,然后根据你的txt文档中的镜像去 docker hub 中把镜像搞到你的阿里中,过程中要开魔法。
如果没反应,那就重新修改images.txt文件,价格空格什么的,提交,再点击 actions看。就会有黄色的正在转圈圈。一般一个镜像要大概50秒,我的差不多是这个时间,两个就是快两分钟了。如果失败了,github 会给你发邮箱,说你的这个出错了。一般不会出错的。
成功了之后你就可以在你的阿里容器服务中看到了
现在你就可以通过 你的公网地址 + 命名空间 + 仓库名称:版本,去 pull 你的镜像了。同时,你点击进入你的仓库,也阿里也给到了你具体的使用
然后就可以在 linux 中愉快的使用了,多的我就不说了。 最后就是你的镜像是私有的话需要第一步,就是登录 docker ,公开的话应该是不需要的。