利用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
    经过测试浏览器输入搭建的加速地址可以直接访问hub.docker.com但是有的时候能访问有的时候又不行,是什么原因呢?
    1. 博主说道:
      Google Chrome Android 10
      cf的ip的走的cdn,有可能域名刚好在切换ip,就会造成短暂性的访问不了。
      1. 飞翔的企鹅说道:
        Google Chrome Windows 10
        目前除了不能登陆,浏览没有问题
  2. 藤原豆腐说道:
    Google Chrome Windows 10
    请问可以添加自己的二级域名吗
    1. 博主说道:
      Google Chrome Windows 10
      本教程就是使用自己的二级域名
  3. 晓刚说道:
    Google Chrome Windows 10
    群晖7.2 docker添加地址,不写http, 你那种方式添加不上
    1. 博主说道:
      Google Chrome Windows 10
      不是写http,是要写https
      1. 晓刚说道:
        Google Chrome Windows 10
        是的, 我看你得截图是//, 不过我按照教程加上了,拉取镜像还是不行, 直接访问域名,能访问,速度还挺快
  4. 飞翔的企鹅说道:
    Google Chrome Windows 10
    请问这个加速是什么原理
    1. 博主说道:
      Google Chrome Windows 10
      利用CloudFlare遍布在全球各地的CDN服务器进行反向代理。

发表回复