先决条件
- 拥有一个 Github 账号
- 拥有一个 Cloudflare 账号
- 拥有一个域名并托管到 Cloudflare
部署
首先在浏览器中登陆你的 Github 账号,然后打开 ciiiii/cloudflare-docker-proxy 项目,点击 Deploy with Workers 按钮:

进来之后点击左边的 I have account 按钮:

点击下面左边的 Workers Dashboard :

如果你已经登陆过 Cloudfalre 账号会直接跳转到你的账号的 Workers 页面,账号 ID 就在右边。点击右边的复制按钮复制你的账号 ID ,粘贴到左边的输入框中:

粘贴之后再点击下面右边的 My Profile 创建一个 Worker API ,先点击 创建令牌 :

再点击红框中的 使用模版 :

划到页面最底下,在 账户资源 中选择你的账号,在 区域资源 中选择你想要使用的域名,选择好后点击最底下的 继续以显示摘要 :

点击 创建令牌 :

最后点击红框中的复制按钮,先不要关闭这个窗口,这个 Token 只会显示一次,建议保存起来以备下次使用:

把复制的 Token 粘贴到右边的输入框中,点击 Connect account :

点击 Fork the repository :

等待 10 秒左右,点击下面的 Repository - Actions 跳转到 Actions 页面,点击这个绿色的按钮:

依次点击 Settings => Secrets and variables => Actions => New repository secret :

在 Name 中输入 CUSTOM_DOMAIN ,在 Secret 中输入你的域名,这个域名应和你在刚才在 区域资源 中选择的域名一致。最后点击 Add secret :

返回刚才创建 Workers 的页面,点击 Workflows enabled :

最后点击 Deploy :

然后就会跳转到这个页面,等到页面上淡紫色的 Queued 变成 Successful 就说明部署成功了:


进入到你账号的 Workers 页面,就能看到刚才创建的 Worker 了:

添加路由
进入到你的域名的管理页面,点击 Workers 路由 => 添加路由 :

下面的 Worker 选择刚才创建好的 Worker ,上面的 路由 输入 docker.你的域名/* (例如 docker.example.com/*),最后点击 保存 :

根据需求添加即可,我主要使用 DockerHub 和 GHCR 的镜像,所以只填了两个。支持的镜像的前缀可以参考这里:

为路由的域名进行优选 IP
此步骤为可选项,如果你的网络可以正常访问不报错的话可以跳过此步。如果你和我一样报错 TLS handshake timeout 或者其他奇奇怪怪的错误可以尝试此步骤。我这里使用 Lucky 的 DDNS 功能进行全自动优选 IP 。
进入 Lucky 的后台,点击左边的 动态域名 ,再点击上面的 添加任务 。任务名称 随意,托管服务商 选 Cloudfalre, Token 输入你的域名的
Token ,如果没有的话可以点击上面的蓝色字去创建一个。启用下面的 {ipv4Addr} , 获取公网IP方式 选 通过脚本获取 ,自定义获取IP指令 输入下面的代码:
| |

输入代码后可以点击 指令测试 看看有没有返回 IP 地址。
下滑页面,点击 添加同步记录 ,记录名 输入刚才路由的域名, 记录类型 选择 A(IPv4) ,最后点击 添加任务 :

如果你有多个路由的域名的话可以添加多个同步记录,添加方法和上面的步骤一致。
全部完成之后等待几秒,让 Lucky 自动同步优选 IP ,然后再次访问你的镜像地址,应该就不会报错了。