基于 CF Works 自建 Docker 镜像加速服务
简介
网上有很多分享的免费 Docker 镜像加速地址,直接拿来使用确实方便,但大部分都是个人维护,随时可能关闭,想要一个长期稳定的 Docker 加速地址,自建加速镜像是个好的选择。利用 CloudFlare 提供的 Worker 功能添加几句代码就能轻松完成,而且是免费的服务。
准备
1、Cloudflare 账号
2、Github 项目:CF-Workers-docker.io
3、一个托管到 Cloudflare 域名
注:CF Worker 免费账号每天请求为10万次,个人使用完全够用。
CF-Workers-docker.io
这个项目是一个基于 Cloudflare Workers 的 Docker 镜像代理工具。它能够中转对 Docker 官方镜像仓库的请求,解决一些访问限制和加速访问的问题。
项目地址:https://github.com/cmliu/CF-Workers-docker.io
免费域名推荐
推荐一些支持绑定 CloudFlare 的免费域名。
- us.kg
支持绑定 CloudFlare,每个账户可注册三个免费域名,有效期365天,需要手动续期,可提前180天续期1次。 - eu.org
永久免费、不用续期,提供免费的二级域名申请,并且可以绑定到 Cloudflare 等 DNS 管理服务。但近年来申请很难,人工审核时间较长。 - ClouDNS
ClouDNS是欧洲最大的全球托管DNS服务提供商,提供免费二级域名,支持托管到 CloudFlare。 - pp.ua
PP.UA是乌克兰个人的域名,支持CF托管,可用于建站或者个人代理用,其永久免费(每年续期即可)。需要外币实体信用卡和电话号码,申请难度大。
便宜域名推荐
- xyz
- top
- me
- shop
- 域名比价(https://www.nazhumi.com/)
汇总各个域名注册平台的价格,找到低价注册平台。
部署
1、登录到 CF 的仪表盘 https://dash.cloudflare.com/,点击 Workers 和 Pages,点击 Hello world,
2、修改项目名称,点击部署,
3、点击编辑代码
4、打开 https://github.com/cmliu/CF-Workers-docker.io/blob/main/_worker.js,复制 worker.js 代码,点击部署,
5、返回点击设置,可以看到 docker.xxx.workers.dev
地址是 CF 默认提供的访问地址,由于 worker.dev 因某些原因无法访问,我们需要绑定自己的域名进行访问,
6、点击路由,选择自定义域,填写访问域名,点击添加域,
7、此时,Docker 加速域名设置完毕。
验证使用
原拉取命令如下:
docker pull busybox
现在需要换上自己的加速域名:
docker pull docker.abc.com/library/busybox
当然也可以直接设置 docker registry mirror,替换成自己的域名即可:
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://自己的域名"]
}
EOF
然后重启docker
systemctl restart docker