教程:https://www.cnblogs.com/guangdelw/p/18357199
前提
这些准备这里就不多说了
域名托管到 cloudflare 上面的步骤,也不赘述了,不明白的 可以参看 https://www.cnblogs.com/guangdelw/p/18246236
fork项目到自己的仓库
仓库地址 https://github.com/cmliu/CF-Workers-docker.io
然后fork到自己的仓库
![[IMG-20260516155638573.png]]
部署
Pages 方式部署
点击 Worker和Pages 再点 概述 再点 新建
![[IMG-20260516155638622.png]]
选择 Pages 点击 连接到git
![[IMG-20260516155638639.png]]
选择 GitHub 选择自己的github账户,选择之前fork到自己仓库的仓库,然后点击 开始设置
![[IMG-20260516155638786.png]]
不用修改,直接点击 保存并部署
![[IMG-20260516155638803.png]]
然后等待部署完成
![[IMG-20260516155638855.png]]
![[IMG-20260516155638870.png]]
点击 继续处理项目
![[IMG-20260516155638920.png]]
选择 自定义域 点击 设置自定义域
![[IMG-20260516155638996.png]]
输入已经托管的域名的一个任意子域名
![[IMG-20260516155639053.png]]
激活域
![[IMG-20260516155639071.png]]
等到生效
![[IMG-20260516155639117.jpeg]]
![[IMG-20260516155639146.png]]
然后直接访问自己的域名
https://hub.abc.com
会直接被代理到docker hub的主页
![[IMG-20260516155639204.png]]
就可以正常搜索了
然后也可以使用这个域名进行拉取镜像了
修改docker的加速地址
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://hub.abc.com"] # 请替换为您自己的Worker自定义域名}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
为了防止被封,可以设置变量
| 变量名 | 示例 | 必填 | 备注 |
| URL302 | https://t.me/CMLiussss | ❌ | 主页302跳转 |
| URL | https://www.baidu.com/ | ❌ | 主页伪装(设为nginx则伪装为nginx默认页面) |
| UA | netcraft | ❌ | 支持多元素, 元素之间使用空格或换行作间隔 |
最简单的方法就是设置 URL 这个变量
![[IMG-20260516155639255.png]]
![[IMG-20260516155639263.png]]
然后重新部署
![[IMG-20260516155639308.png]]
等待部署完成
![[IMG-20260516155639379.png]]
然后再访问你的域名,就会变成nginx的默认页面
![[IMG-20260516155639426.png]]
但是不会影响镜像的拉取
Workers 方式部署
也可以 Workers 方式部署,方法跟 利用cloudflare workers解决docker无法拉取镜像问题 一样,直接把 _worker.js 复制到部署的代码中
然后设置自定义域 也类似
![[IMG-20260516155639451.png]]
然后添加环境变量
![[IMG-20260516155639493.png]]
效果是一样的
![[IMG-20260516155639523.png]]![[IMG-20260516155639571.png]]![[IMG-20260516155639624.png]]![[IMG-20260516155639640.png]]![[IMG-20260516155639691.png]]![[IMG-20260516155639741.png]]
![[IMG-20260516155639763.png]]![[IMG-20260516155639810.png]]![[IMG-20260516155639825.png]]![[IMG-20260516155639881.png]]![[IMG-20260516155639932.png]]![[IMG-20260516155639984.jpeg]]
![[IMG-20260516155640001.png]]![[IMG-20260516155640050.png]]![[IMG-20260516155640083.png]]
![[IMG-20260516155640134.png]]![[IMG-20260516155640179.png]]![[IMG-20260516155640212.png]]![[IMG-20260516155640259.png]]![[IMG-20260516155640289.png]]![[IMG-20260516155640334.png]]