告别卡顿:基于域名重定向的Docker Hub镜像加速方案
💡
本项目为开源项目,仅供个人学习和研究使用。使用本项目必须遵守适用的法律法规。您应确保在使用本项目时,不违反任何第三方的权利或适用的法律法规。
CF-Workers-docker.io 是一个基于 Cloudflare Workers 的 Docker 镜像代理工具。它可以中转对 Docker 官方镜像仓库的请求,解決一些访问限制和加速访问的问题。
工作原理
CF-Workers-docker.io 的工作原理是拦截對对Docker 官方镜像仓库的请求并将其中转到 Cloudflare Worker。然后Cloudflare Worker 会从 Docker 官方镜像仓库中检索请求的镜像并将其本地缓存。如果镜像已缓存,Cloudflare Worker 会将缓存的镜像返回给用户。
部署步骤
一、复制项目
访问上面Github的项目链接,Fork该项目的同时在自己的 GitHub 帐户中创建它的副本,该项目仅有一个js文件:
二、登录Cloudflare部署项目
点击左侧控制面板的Workers和Pages
选项
授权 Cloudflare 访问您的 Github 账号,以便将你 fork 的项目拉取到 Cloudflare 账户中进行部署。
选择好存储库后,点击开始设置
继续,接下来的页面无须任何配置,默认点击
保存并部署
按钮即可。
部署完成后,进入自定义域
的选项绑定自己的域名(该域名需要提前在DNS中解析好)。
三、Docker设置自己的镜像地址
以Ubuntu20.04为例,修改/etc/docker/daemon.json
文件(没有该文件请自行创建)
{
"registry-mirrors": ["https://aa.example.com"] # 替换为自己的自定义域名
}
分别运行以下命令
#通知Systemd重新加载所有的配置文件
sudo systemctl daemon-reload
#重启Docker服务
sudo systemctl restart docker
站点反代
请参考项目链接中的说明文档进行设置。