利用CloudFlare搭建一个专属自己的Docker镜像加速和代理工具

       众所周知,前段时间由于某些原因,docker仓库在国内基本上已经无法访问,虽然博主在第一时间已经给出了【解决方案】,但是还是有小白朋友私信博主说使用别人的加速地址担心NAS会有安全隐患问题。既然有这样的担心,那么干脆就来搭建一个专属自己的Docker镜像加速和代理工具吧。

一、搭建条件

1、注册有【CloudFlare官方网站】账号,并能正常登录;

2、一个托管在CloudFlare的域名,可以用一级域名,也可以用【白嫖的二级域名】,如下图所示,表示该域名已经正常托管在CloudFlare。

 

 

二、搭建Docker镜像加速和代理工具

1、打开【CloudFlare官方网站】,登录你的账号,点“Workers 和 Pages”;

 

 

2、创建;

 

 

3、创建Worker;

 

 

4、项目名称用英文或者数字,我这写的是mydocker,保存;

 

 

5、完成;

 

 

6、编辑代码;

 

 

7、把项目里面默认的代码全部删了;

 

 

8、把【代码文件】点鼠标右键,另存为,下载到电脑上打开(直接打开本链接只会看到乱码,需要下载再打开就显示正常),把全部的代码复制,到workers项目中粘贴,然后定位到第8位的yuer.domain处;

 

 

 

9、把yuer.domain改成你想使用的域名(假设你托管在CF的域名是abc.us.kg,可以用二级域名,比如mydocker.abc.us.kg,域名前面的https://不要删),请记住所填写的域名,然后点“部署”;

 

 

10、保存并部署;

 

 

11、点左上角的项目名称,返回上一页;

 

 

12、设置,触发器,添加自定义域;

 

 

13、把第9个步骤在代码里面写的域名在下图的位置填写进去(只写域名,不用加https://),点“添加自定义域”;

 

 

14、系统会自动生成ssl证书,稍等一会;

 

 

15、等到证书显示有效的时候,就个表示搭建好了;

 

 

16、使用方法有两种:可以在群晖ContainerManager注册表添加镜像地址;

注:由于群晖显示的问题,完整的域名地址显示不出来,如下图,完整的域名地址应为https://mydocker.***.us.kg(地址最后的 / 可写可不写,不影响);

 

 

17、在其他的Linux系统中敲docker pull拉取镜像的时候,只需要在容器前加上该加速地址,就可以使用,格式如下:

docker pull 第9个步骤的docker专属加速地址/容器作者/容器名称:容器版本

 

 

 

19、用加速地址拉取的容器,在映像中,容器名称前会显示有该加速地址;

 

 

20、好了,到此就全部完工,你学会了吗?

 


本教程使用的代码来自【Github】,感谢原作者。

点赞
  1. 当我就要离开说道:
    Google Chrome Windows 10
    按你的流程都做完了,域名也能访问了,docker还是显示 错误 无法执行此操作,可能是因为网络连接不稳定或系统正忙,请稍后再试。群晖是DS920 7.2.1-69057
    1. 博主说道:
      Google Chrome Windows 10
      初步判断是你那边网络环境造成的。你可以试一下进SSH敲命令看看能不能拉取。
  2. llr说道:
    Google Chrome Android 14
    大佬,我看您教程搭建后群晖docker注册表里面还是不显示,浏览器直接访问可以显示docker镜像的网站页面。这可能是哪里的问题呢?另外我今天搭建的时候cf网站添加自定义域的页面布局和你截图的不一样,在二级菜单里面添加的,不知道是不是cf改版了还是我找错位置了。
    1. 博主说道:
      Google Chrome Windows 10
      你的群晖系统是什么型号,多少版本?
      1. llr说道:
        Google Chrome Android 14
        蜗牛刷的,现在是7.2.1 up4版本。而且我用你别的文章里面写的别人搭建的镜像加速服务器地址,注册表里面内容也是不显示。
        1. 博主说道:
          Google Chrome Windows 10
          有可能是你的群晖网络不通了,正常情况下不添加加速镜像链接,也可以看到注册表有内容,只是下载不了或者下载速度超级慢而已。你把群晖的网络设置成DHCP,同时在群晖控制面板,区域选项,时间,做一次时间更新。再试一下看看docker注册表显示是否正常。
          1. llr说道:
            Google Chrome Android 14
            就感觉很奇怪,我有公网IP,访问什么的也都正常,而且我用ssh后台pull镜像也是正常的。刚把时间同步一下,又重启一遍,还是不行
    2. 枫林说道:
      Google Chrome Windows 10
      注册表设置里直接新增一个,不要在原有的站点增加镜像。直接使用新站点,注册表里面就都有显示了。
      1. llr说道:
        Google Chrome Android 14
        感谢,厉害了,刚试了一下确实可以显示了。但是好像没法搜索,搜索后还是默认列表,不会显示搜索后的内容。
        1. 枫林说道:
          Google Chrome Windows 10
          刚刚试了一下,搜索功能确实不行。我现在模式是浏览器直接去搜索镜像,然后去注册表全名搜索,然后在注册表第一页的最后几项你就会发现你要的镜像了,点下载,完事! :haha: 但下载下来的名字好像不一样。
          1. llr说道:
            Google Chrome Android 14
            嗯嗯,好的,我又搜索解决办法可能需要修改host文件,把搜索地址的域名解析ip写进去,试了几个都不行。反正也用的不多,就先不折腾了,有需要直接ssh拉取镜像了。
  3. cocoa说道:
    Google Chrome Mac OS X 10.15.7
    编辑代码那个页面没法链接,无法编辑代码,是怎么回事?
  4. 995357866说道:
    Sogou Explorer Windows 10
    卡在自定义域名那,显示仅在 Cloudflare 帐户中处于活动状态的区域的路由可以配置
    1. 博主说道:
      Google Chrome Windows 10
      在CloudFlare的后台,你的域名点进去,左边菜单:SSL/TLS,概述,SSL/TLS encryption,配置,把Custom SSL/TLS的设置改成FULL。
  5. A7RS9说道:
    Google Chrome Windows 10
    昨晚部署的,早上起来看worker在凌晨跑了2.5K的访问量,167G流量,给我整不会了,明明是我自己搭建自用的 :kuanghan:
    1. 博主说道:
      Google Chrome Windows 10
      CF的workers不计流量只计算次数,每天10万次,个人用随便够用都用不完。这个项目我这边正常哦,我还跑其他的项目,每天才用了150次左右的次数。
  6. vecd@qq.com说道:
    Google Chrome Windows 10
    我想问下,为啥我那个证书那一步一直是初始化啊 :lei:
    1. 博主说道:
      Google Chrome Android 10
      初始化也就几分钟,你过几分钟再刷新看一下就看到有证书了。
  7. 飞翔的企鹅说道:
    Google Chrome Windows 10
    经过测试浏览器输入搭建的加速地址可以直接访问hub.docker.com但是有的时候能访问有的时候又不行,是什么原因呢?
    1. 博主说道:
      Google Chrome Android 10
      cf的ip的走的cdn,有可能域名刚好在切换ip,就会造成短暂性的访问不了。
      1. 飞翔的企鹅说道:
        Google Chrome Windows 10
        目前除了不能登陆,浏览没有问题
  8. 藤原豆腐说道:
    Google Chrome Windows 10
    请问可以添加自己的二级域名吗
    1. 博主说道:
      Google Chrome Windows 10
      本教程就是使用自己的二级域名
  9. 晓刚说道:
    Google Chrome Windows 10
    群晖7.2 docker添加地址,不写http, 你那种方式添加不上
    1. 博主说道:
      Google Chrome Windows 10
      不是写http,是要写https
      1. 晓刚说道:
        Google Chrome Windows 10
        是的, 我看你得截图是//, 不过我按照教程加上了,拉取镜像还是不行, 直接访问域名,能访问,速度还挺快
  10. 飞翔的企鹅说道:
    Google Chrome Windows 10
    请问这个加速是什么原理
    1. 博主说道:
      Google Chrome Windows 10
      利用CloudFlare遍布在全球各地的CDN服务器进行反向代理。

发表回复