建立自己的docker镜像加速服务:cloudflare-docker-proxy

因为众所周知的原因,docker近期无法访问了。这对于nas用户来说是毁灭性打击。通过我的摸索和网上大佬们提供带资料,我整理了如何使用cloudflare和cloudflare-docker-proxy项目建立个人专属带镜像服务,考虑到cloudflare免费账户的限制,所以该教程只适合个人。
一、所需准备:
1、cloudflare账户,可以是免费账户。如何注册请问bing;
2、域名。用于访问docker镜像的地址,且该域名需要托管在cloudflare上(使用其DNS解析服务器)。不会请问bing;
3、可以科学上网,因为要用到GitHub的项目:cloudflare-docker-proxy。
二、具体操作:
1、访问cloudflare-docker-proxy项目地址:https://github.com/ciiiii/cloudflare-docker-proxy;
2、点击“Fork”按钮为该项目创建分支,该步骤需要在登录状态下,会将该项目创建在你项目名下;
3、进入该分支项目,需要修改3处内容才能在cloudflare上部署成功
1)进入src文件夹,修改index.js文件。将下图中的“libcuda.so”换成自己的一级域名,二级域名可以根据需要进行修改。
建立自己的docker镜像加速服务:cloudflare-docker-proxy
2)修改wrangler.toml文件。将下图中的“libcuda.so”换成自己的一级域名,同上,需要和上面的改动一致。
建立自己的docker镜像加速服务:cloudflare-docker-proxy
3)修改README.md文件。将下图中的“https://github.com/ciiiii/cloudflare-docker-proxy”更换成你自己该项目的URL地址
建立自己的docker镜像加速服务:cloudflare-docker-proxy
4、完成以上修改后在该项目的首页点击“deploy with workers”按钮,将该项目自动在cloudflare进行部署。期间需要录入cloudflare的ID和api令牌,操作都有提示,不复杂。创建cloudflare api令牌时模板可以选择“编辑Cloudflare Workers”。部署完成有提示,需要耐心等待。
5、登录你的cloudflare,进入“Workers和Pages” 菜单。可以看到2个刚刚创建的Workers:cloudflare-docker-proxy和cloudflare-docker-proxy-staging,两个的区别是cloudflare-docker-proxy支持多docker镜像源,而cloudflare-docker-proxy-staging只支持一个镜像源:docker.io。 推荐使用cloudflare-docker-proxy。进入该Workers的详情页,在“设置 > 触发器” 界面中点击“创建自定义域”,根据步骤3中index.js文件中你想使用的镜像源对应的自定义二级域名在这里录入,录入完成等待证书变为“有效”就大功告成了,撒花。
三、如何使用:
1、在portainer中使用
登录你的portainer后,在左侧菜单“设置 >镜像仓库”中点击“添加注册表”按钮,然后再选择“自定义注册表”,录入名称(如:docker.io加速)和URL,这里的URL就是该镜像对应的自定义二级域名了。在portainer中拉取镜像时只要选择该注册表就可以成功拉取镜像了。
2、在Docker Registry Mirror 配置
需要修改创建或者修改/etc/docker/daemon.json文件,将你对应镜像源的二级域名添加到 registry-mirrors中,重启docker。不会请问bing
3、手动拉取镜像
假设docker.io对应的自定义二级域名为docker.jerry.com,你想要拉取的镜像为:moelin/1panel,在SSH中敲入:docker pull docker.jerry.com/moelin/1panel/latest 就可以成功拉取镜像了

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注