前段时间看到博友圈的小伙伴发表了篇名为:《docker代理问题》的分享,里面详细记录她是如何通过Cloudfare路由功能实现代理Docker镜像的服务,想要自己倒腾的小伙伴可以参考一二。当时看到她这篇文章,就想起年初时自己为Docker镜像代理而烦恼的情境,后来借助Google成功解决这问题,不过与前面这位博友的方法不同,是抱了某厂商的大腿直接使用,并没有自己去搭建和管理代理服务。
注:“博友”是自己给一群爱好写博客的朋友们所起的简写描述,大家可千万别误会为是那赌博的群体呀。😂
其实能够自己搭建代理服务也是甚好的,只是我们个人的精力有限呀,有时管理的事情太多了肯定是要有的放矢。而且个人也不太喜欢重复造轮子,往大说是为了减少碳排放保护地球,哈。所以我就偷懒了一下,直接寻找一个靠谱的厂商代理服务,直接套用即可。
通过网络搜索的筛选和对比后,最终选择了道客作为自己的Docker镜像代理服务:public-image-mirror。截止到现在已经平稳运行半年多啦,几乎所有的Docker镜像都能够在其代理服务上找到。这个服务是直接开源在Github上面托管的,关注的星星已经接近7千颗,管理员也是比较活跃的。而且大家如有特别的镜像使用需求,也可以提交PR来增加。选它的另外一点原因是,之前有关注到该公司的技术合作人孙宏亮成为Docker核心项目代码维护者,加之该公司的技术中也是使用了Docker技术,综合判断这个项目的生命周期应该会相对稳定且长期些。
注:这里也仅代表个人观点,在如今多变的经济形势下,也保不准哪天就会下线,大家还是祈祷它能够长命百岁吧,哈。
与其他Docker镜像代理服务相类似,支持以下两种方式使用:
方式1:添加域名前缀
就是在使用Docker命令拉取镜像时,直接在镜像地址前面添加道客的代理服务域名,适合临时拉取或没有权限编辑配置文件时调用:
docker.io/library/busybox
|
V
m.daocloud.io/docker.io/library/busybox
或是
docker.io/library/busybox
|
V
docker.m.daocloud.io/library/busybox
方式2:修改配置文件
为了不用每次拉取Docker镜像时,都要手敲上面那段代理域名,可以直接在Docker的配置文件/etc/docker/daemon.json
中添加代理服务注册声明:
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}
感谢DaoCloud 道客 – 云原生领域的创新领导者给我们提供的代理镜像服务,他们也还有很多其他的开源项目,感谢兴趣的小伙伴可以去他们官方网站逛逛。话说现在类似这样的公益服务是越来越少有,大家平时使用也要多加“爱护”,有能力的话也请不要吝啬贡献你的一份力量。