告别卡顿:基于域名重定向的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

站点反代

请参考项目链接中的说明文档进行设置。