基于 CNB 的搭建国内 Docker 镜像代理服务
前言
之前有写过如果使用利用cloudflare的worker服务搭建DockerHub镜像加速 进行docker镜像拉取。但是呢还是会存在机器无法访问cf导致拉取超时的问题。因为最近在研究CNB,发现可以通过caddy反向代理即可进行加速,也是很爽!
注意了,开发环境创建后,会定时检测心跳,如果
10分钟
内未进入 VSCode 页面,则回收。参考:https://docs.cnb.cool/zh/vscode/working-principle.html 手册的
按需创建,闲时回收
开始
因为CNB是腾讯产品,也暂时使用了腾讯服务器,因此可使用https://mirror.ccs.tencentyun.com
进行内网加速,参考:https://cloud.tencent.com/document/product/1207/45596
接下来,我们将逐步介绍如何基于 CNB 搭建国内 Docker 镜像代理服务。
基于CNB构建环境
首先,确保你已经在 CNB 平台上创建好了对应的仓库。或者你自行克隆我仓库也行:https://cnb.cool/guoliangjun/cnb-mirror-docker
创建.cnb.yml
文件
此文件在整个环境构建过程中起着关键作用,其内容如下:
创建Caddyfile
文件
Caddy 的核心配置文件Caddyfile
内容如下:
点击云原生开发进入环境
完成上述文件创建后,点击 CNB 平台上的 “云原生开发” 选项进入环境。
初始化环境后,选择在线WebIDE
打开,即可进行边开发边体验
当环境启动并运行正常后,访问 CNB 自动穿透的 2080 端口对应的地址,该地址即为我们搭建的 Docker 镜像代理服务地址。需要特别注意的是,在此过程中务必保持 “WebIDE” 窗口处于打开状态,否则开发环境会自动关闭,导致代理服务不可用。(可插入相关访问地址示例图片)
测试
将其修改为使用我们搭建的加速拉取镜像命令,假设 CNB 分配的代理地址为https://cnb-mhd-xxxx-001-2080.cnb.run
,则新的拉取命令为:
注意了,开发环境创建后,会定时检测心跳,如果
10分钟
内未进入 VSCode 页面,则回收,最长可以16小时,因此需要拉取镜像时间我们再拉起开发环境即可加速啦~参考:https://docs.cnb.cool/zh/vscode/working-principle.html 手册的
按需创建,闲时回收