使用cloudflare(CF)搭建dockerhub代理

前言

目前国内docker所有域名都被屏蔽,造成一些玩docker的用户很是苦恼,更换阿里云的镜像加速但镜像也没dockerhub那么多,有些好用的工具一直拉不下来,自己搭建dockerhub镜像站又耗时还得购买海外服务器,非常不划算。本文按照B站一个大佬的方法为此我撰写一篇文章用最简单和最清晰的思路。

准备环境

  1. 注册cloudflare账户(必须)
  2. 注册github账户(必须)
  3. 购买域名并绑定在cloudflare域下(可选)

虽然cf默认给你分配一个免费的域名,但是这个域名我试了一下解析非常慢,建议挂自己域名。

关于如何购买并绑定到cf本文不再赘述,网上有非常多的教程可以自行搜索。

一、克隆github项目到自己的库

  1. 访问此网站
  2. 克隆到自己仓库

image-20240628103226223

由于我这里已经克隆过了,大家没有克隆过的点击加号会显示的页面直接点击右下角即可。

二、部署到cloudflare

  1. 绑定github

image-20240628103241264

image-20240628103254054

\2. 部署源码

选择仓库后一直下一步过程无需选择其它,直接点到此页面

image-20240628103313187

至此部署环节已完成,参考此视频编写

如何使用

  1. 可以在拉取镜像名称前加入此域名,例如 https://<域名>/镜像名:lates
  2. 可以参考下面方法换源永久实现

三、更换docker源

可以参考我这篇文章

四、需要注意

  1. 由于是cloudflare网络,国内访问比较缓慢,所以下载速度肯定没有国内镜像站快,但是绝大部分还是可以成功下载的。
  2. 此方案并不是完全免费,cloudlfare每个人免费配额为10000次请求,如果是你自己使用完全足够,每天能拉几百次。但是如果公开到网上可能就会到达上限,因此不要随意将此域名公开到网上以防被刷量。我们可以在概览页面查看请求量

image-20240628103344988

增加dns解析cloudsx.top到刚刚cl自动生成的域名

image-20240628103440840

image-20240628103501247

cloudsx.top代理的dockerhub页面

image-20240628103524829

拉镜像

image-20240628103729619

阿里云配置cloudsx.top DNS解析

image-20240628143203147

cloudflare配置cloudsx.top DNS解析 代理cloudflare的解析

image-20240628143207954

访问cloudsx.top成功

image-20240628143211921