利用cloudflare代理DockerHub

之前介绍过 利用cloudflare workers解决docker无法拉取镜像问题

再介绍另一个项目

CF-Workers-docker.io

前提

  • github账号
  • cloudflare账号
  • 一个自己的域名

这些准备这里就不多说了

域名托管到 cloudflare 上面的步骤,也不赘述了,不明白的 可以参看 https://www.cnblogs.com/guangdelw/p/18246236

fork项目到自己的仓库

仓库地址 https://github.com/cmliu/CF-Workers-docker.io

然后fork到自己的仓库

部署

Pages 方式部署

点击 Worker和Pages 再点 概述 再点 新建

选择 Pages 点击 连接到git

选择 GitHub 选择自己的github账户,选择之前fork到自己仓库的仓库,然后点击 开始设置

不用修改,直接点击 保存并部署

然后等待部署完成

点击 继续处理项目

选择 自定义域 点击 设置自定义域

输入已经托管的域名的一个任意子域名

激活域

等到生效

然后直接访问自己的域名

https://hub.abc.com

会直接被代理到docker hub的主页

就可以正常搜索了

然后也可以使用这个域名进行拉取镜像了

修改docker的加速地址

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://hub.abc.com"]  # 请替换为您自己的Worker自定义域名
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

为了防止被封,可以设置变量

变量名 示例 必填 备注
URL302 https://t.me/CMLiussss 主页302跳转
URL https://www.baidu.com/ 主页伪装(设为nginx则伪装为nginx默认页面)
UA netcraft 支持多元素, 元素之间使用空格或换行作间隔

最简单的方法就是设置 URL 这个变量


然后重新部署

等待部署完成

然后再访问你的域名,就会变成nginx的默认页面

但是不会影响镜像的拉取

Workers 方式部署

也可以 Workers 方式部署,方法跟 利用cloudflare workers解决docker无法拉取镜像问题 一样,直接把 _worker.js 复制到部署的代码中

然后设置自定义域 也类似

然后添加环境变量

效果是一样的

posted @ 2024-08-13 16:21  厚礼蝎  阅读(1618)  评论(0)    收藏  举报