名留青史 发表于 2025-4-12 23:27:37

极致白嫖,0成本工具 CDM

本文首发于 Anyeの小站,点击链接访问原文 观看效果更佳。写过一遍了,再发一篇完整教程。有人说cf,我知道cf打跌确实很强,但是它的访问性也是众所周知。 https://www.nodeseek.com/static/image/sticker/xhj/014.gif前言CNB 作为一款强的一批的云原生开发平台,在上线之初就提供了许多开发者友好的功能,其中一点当属强大的加速网络。以此为契机,我写了第一个基于 CNB 的 镜像加速方案,受限于 CNB 的环境回收机制,这个方案只适合临时使用,较为灵活。然后发现了 xiaofei 大佬 写的 https://cnb.cool/xiaofei/cnb_docker_mirror工具,遂有了灵感二开出本项目项目介绍https://cnb.cool/Anyexyz/cdm/docker-mirrorCNB Docker Mirror 是一个基于 CNB 的 Docker 镜像加速工具,提供本地镜像加速功能。功能特性
[*]镜像加速:在本地启动连接到 CNB 环境的 Docker 镜像加速服务,然后通过配置 Docker 客户端实现镜像加速下载。
[*]自动重连:镜像加速服务具备自动心跳保活和断线重连机制。
[*]自动启动:使用 docker 运行,自动启动加速服务并保持后台运行
使用教程1. 创建 CNB 账号打开 https://cnb.cool,点击右上角登录,使用微信扫码创建账号https://www.anye.xyz/upload/image-FLTJ.png2. 创建组织根据需要填写组织名创建组织https://www.anye.xyz/upload/image-WatK.png3. 创建仓库选择仓库归属组织,填写仓库名称创建仓库https://www.anye.xyz/upload/image-StuL.png如此处能得到仓库:Anyexyz/runtime ,记住该 REPOhttps://www.anye.xyz/upload/image-fQEQ.png4. 创建访问令牌访问 https://cnb.cool/profile/token/create ,创建访问令牌,使用范围建议选定刚才创建的仓库https://www.anye.xyz/upload/8fc71c9c-f802-4084-9c96-1008bd5dca90.png授权范围需要勾选
[*]<li style="border: 0px; font-size: inherit; margin-top: 5px; margin-bottom: 5px; margin-left: 0px; outline: 0px; vertical-align: baseline; position: relative; list-style: none !important;"><p style="border: 0px; font-family: inherit; font-style: inherit; outline: 0px; vertical-align: baseline; font-weight: inherit; margin-top: 10px; margin-bottom: 10px; text-overflow: ellipsis; word-break: break-word;"><code style="font-style: inherit; outline: 0px; vertical-align: baseline; font-weight: inherit; background: rgb(255, 255, 153); border: 1px solid rgb(238, 238, 204); border-radius: 2px; overflow: auto; padding: 4px 8px; white-space-collapse: preserve;">repo-cnb-trigger:rw</code></p></li><li style="border: 0px; font-size: inherit; margin-top: 5px; margin-bottom: 5px; margin-left: 0px; outline: 0px; vertical-align: baseline; position: relative; list-style: none !important;"><p style="border: 0px; font-family: inherit; font-style: inherit; outline: 0px; vertical-align: baseline; font-weight: inherit; margin-top: 10px; margin-bottom: 10px; text-overflow: ellipsis; word-break: break-word;"><code style="font-style: inherit; outline: 0px; vertical-align: baseline; font-weight: inherit; background: rgb(255, 255, 153); border: 1px solid rgb(238, 238, 204); border-radius: 2px; overflow: auto; padding: 4px 8px; white-space-collapse: preserve;">repo-cnb-detail:r</code></p></li>

如图https://www.anye.xyz/upload/6335e1a3-d6ba-4e15-82f6-ba663b157342.png其余权限保持默认,点击 创建 。你会得到这样一个东西令牌名:cdm
Git Username:cnb
Token:1S1b53qHRtGjvzmD5hNEQFAwziD
记住此处的 Token5. 创建 docker-composer.yml 文件在合适的位置创建 docker-composer.yml 文件services:
cdm:
    container_name: cdm
    image: docker.cnb.cool/anyexyz/cdm/docker-mirror:latest-linux-amd64
    ports:
      - "50000:50000"
    environment:
      - CNB_TOKEN=1S1b53qHRtGjvzmD5hNEQFAwziD # 将这里的 1S1b53qHRtGjvzmD5hNEQFAwziD 换成你上面获取到的token
      - CNB_REPO=Anyexyz/runtime            # 将这里的 Anyexyz/runtime 换成你的 REPO
    restart: unless-stopped
注意:请确保同时设置CNB_TOKEN和CNB_REPO环境变量,否则程序将无法正常运行。6. 启动!docker-compose up -d
7. 配置 Docker 客户端编辑 Docker 客户端配置文件(通常为 /etc/docker/daemon.json),添加以下内容:{
"insecure-registries": [
    "0.0.0.0:50000"
],
"registry-mirrors": [
    "http://0.0.0.0:50000"
]
}
重启 docker 服务sudo systemctl daemon-reload
sudo systemctl restart docker
特性说明:镜像加速服务启动后会自动与 CNB 建立心跳连接以保持会话。当检测到 CNB 断开(CNB 会在 16 小时后强制关闭环境)时,服务会自动重新创建加速环境并重启加速服务。效果一览启动https://www.anye.xyz/upload/image-PfWK.png镜像拉取https://www.anye.xyz/upload/c9d68e356e38087047001e0c73bcfd8b.png速度一览https://www.anye.xyz/upload/c1d3d7b8312d392854493a65308c4df6.png注意事项
[*]确保仓库为公开访问
[*]Token 请妥善保管,不要泄露
[*]建议使用独立组织管理镜像仓库,便于权限管理
问题反馈如有问题或建议,请提交 Issue,或在本文下方评论。致谢
[*]感谢 CNB 提供的强大功能和稳定环境,使得这个工具得以实现。
[*]感谢 xiaofei 大佬 的 原项目 提供思路

页: [1]
查看完整版本: 极致白嫖,0成本工具 CDM