0


基于Cloudflare搭建私有Docker镜像源

在这里插入图片描述

周四原本不是发文的日子,主要因为两个原因:

第一个原因是总有人留言说

Docker

用不了,第二个原因是看了下上个月的阅读量,和之前比实在有点惨淡,除了文章总被人搬运外,我估计可能跟第一个原因多少还是有点关系的

看来不解决这个问题,以后就得换方向了 😂


什么是 CF-Workers-docker.io ?

 CF-Workers-docker.io

是一个基于

Cloudflare Workers

Docker

镜像代理工具。它能够中转对

Docker

官方镜像仓库的请求,解决一些访问限制和加速访问的问题。

什么是 Cloudflare Workers ?

Cloudflare Workers

是一种无服务器计算平台,可以在全球分布式网络上运行自定义的

JavaScript

代码。每个免费账号每天有

10

万次的请求额度,但每分钟只能有

1000

个请求的突发速率限制。

准备

首先需要有

cloudflare

账号,这块可以自行百度,或者阅读文末的参考文档。但如果你访问不了

https://dash.cloudflare.com

,就不建议往下看了,因为还是有点折腾的

其次你要在

cloudflare

中解析域名,虽然

Cloudflare Workers

会自动生成域名,但这个默认的域名你有可能无法访问。

如果你有科学的手段,其实是不用这么折腾的

部署

左侧菜单中

Workers

Pages

--> 创建

在这里插入图片描述

创建

Worker

在这里插入图片描述

默认有个

Hello World

示例

  • ① 可以改名,比如 docker
  • ③ 是代码示例,不用管

直接点

部署

在这里插入图片描述

编辑代码

在这里插入图片描述

将来自:https://github.com/cmliu/CF-Workers-docker.io/blob/main/_worker.js 的代码粘贴进去

从路由表看,不仅仅是支持

docker hub

,还有我们常用到的

ghcr.io

记得修改成自己的域名,如果没有的话,直接用 ② 处显示的默认域名也可以,修改完成后点

Command + s

或者

ctrl + s

保存

  • 如果你使用默认的 workers.dev 域名,有可能会由于 DNS 污染无法访问,所以建议你还是用自己的域名;
  • 仅支持 Cloudflare 上处于活动状态的域,也就是说要有在 Cloudflare 解析的域名才行;

在这里插入图片描述

注意,文件名需要是

worker.js

,因为在

wrangler.toml

中的默认设定是这样的

接下来需要点

部署

,让代码生效

在这里插入图片描述

如果你预览显示的是

docker hub

的主页

如果前面代码中填的是自己的域名,还需要通过

添加自定义域

绑定一下

在这里插入图片描述

添加完成后

在这里插入图片描述

使用

假设我们前面部署的

worker

域名是

docker.laosu.tech

官方镜像路径前面加域名

正常下载镜像是👇这样的

# 只有镜像名的镜像docker pull alpine

# 用户名/镜像名的镜像docker pull alpine/git

现在需要把域名加在前面

# 只有镜像名,还需要增加 library 充当用户名docker pull docker.laosu.tech/library/alpine

# 用户名/镜像名docker pull docker.laosu.tech/alpine/git

有时候速度有点慢,感觉上只有几十K,一个镜像要下好几次才能完成,凑合用吧

下载完成后,镜像的名字是

docker.laosu.tech/library/alpine

而不是

alpine

,这点需要特别注意

在这里插入图片描述

如果想用原始的名称,和之前老苏介绍过的

dockerproxy

一样,需要多几个步骤

下面以

alpine

为例

# 重命名镜像docker tag docker.laosu.tech/library/alpine:latest alpine:latest

# 删除代理镜像docker rmi docker.laosu.tech/library/alpine:latest

这时候再看,显示的就是默认的注册表

Docker Hub

在这里插入图片描述

设置注册表

如果你习惯使用注册表,在设置之前搜索镜像应该是👇这样的

设置 --> 新增 --> 编辑注册表

  • 注册表名称:这个随便你
  • 注册表 URL:填入 worker 的域名 https://docker.laosu.tech

在这里插入图片描述

现在可以搜到结果了

在这里插入图片描述

可以直接下载镜像,显示的注册表名称就是你前面设置的,但是实际上镜像的全称还是

docker.laosu.tech/alpine/git

参考文档

cmliu/CF-Workers-docker.io: 这个项目是一个基于 Cloudflare Workers 的 Docker 镜像代理工具。它能够中转对 Docker 官方镜像仓库的请求,解决一些访问限制和加速访问的问题。
地址:https://github.com/cmliu/CF-Workers-docker.io

Cloudflare教程:如何注册账户、购买域名、开启免费CDN服务? - 掘金随想
地址:https://oyouoo.com/cloudflare-tutorial/

标签: 群晖 docker 代理

本文转载自: https://blog.csdn.net/wbsu2004/article/details/140838007
版权归原作者 杨浦老苏 所有, 如有侵权,请联系我们删除。

“基于Cloudflare搭建私有Docker镜像源”的评论:

还没有评论