惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
D
DataBreaches.Net
F
Fortinet All Blogs
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
M
MIT News - Artificial intelligence
美团技术团队
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Cloudflare Blog
有赞技术团队
有赞技术团队
L
LangChain Blog
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
S
SegmentFault 最新的问题
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
B
Blog
I
InfoQ

Anyeの小站

PlayGuard,让你的播放器老实点! Peg - 命令行便签 · 把终端输出钉上布告板 2025 年终总结:折腾不止,热情常青 告别公网暴露风险:mTLS助你构建家里云安全边界 🚀 0 代码部署:Halo 博客与企业门户系统 B站跟随系统深色模式脚本——让你的B站体验更丝滑 【1024抽奖】EdgeOne下线源站防护?这个办法更简单! 全新!Edge 还是卸载不掉?来试试这个! 混元模型玩家必看:CNB API 不限量调用! 1Panel 应用商店如何上架应用 Next Terminal 实战:内网无密码安全登录 用了 EdgeOne 降本增效,源站却可能裸奔? 降本增效!上云真香! 在线重装 Proxmox VE SSL证书申请老出问题?这套组合直接帮你搞定! 🌐 森屿云:让数字化转型像呼吸一样自然 1Panel v2 首发体验(alpha) Vscode/Code-Server 安装中文包——CI/CD 本地跑不动 QwQ?快用 CNB,免费运行满血 QwQ! Docker Push 巨慢?Skopeo 来拯救 2024 年终总结:与 17170 位读者相遇的旅程 云厂 200Mbps 小鸡,家里云的希望 Halo 插件 thyuu-embed 主题样式注入模板 Windows 11 卸载 Edge 小破站 6 级萌新前来挑战硬核会员,答题分享 手机系统杂谈 1Panel 自建邮局 - Docker Mailserver 1Panel 推送 SSL 证书到阿里云、腾讯云 整了几个简洁的单页,欢迎来扒 1Panel 部署 Logto 对接自有平台
DockerHub Mirror 终极解决方案——零成本,速度超快!
Anye · 2025-03-25 · via Anyeの小站

前言

CNB 作为一款强的一批的云原生开发平台,在上线之初就提供了许多开发者友好的功能,其中一点当属强大的加速网络。

以此为契机,我写了第一个基于 CNB 的 镜像加速方案,受限于 CNB 的环境回收机制,这个方案只适合临时使用,较为灵活。

然后发现了 xiaofei 大佬 写的 https://cnb.cool/xiaofei/cnb_docker_mirror工具,遂有了灵感二开出本项目

项目介绍

https://cnb.cool/Anyexyz/cnb-docker-mirror

CNB Docker Mirror 是一个基于 CNB 的 Docker 镜像加速工具,提供本地镜像加速功能。

功能特性

  • 镜像加速:在本地启动连接到 CNB 环境的 Docker 镜像加速服务,然后通过配置 Docker 客户端实现镜像加速下载。

  • 自动重连:镜像加速服务具备自动心跳保活和断线重连机制。

  • 自动启动:使用 docker 运行,自动启动加速服务并保持后台运行

使用教程

1. 创建 CNB 账号

打开 https://cnb.cool,点击右上角登录,使用微信扫码创建账号

2. 创建组织

根据需要填写组织名创建组织

3. 创建仓库

选择仓库归属组织,填写仓库名称创建仓库

如此处能得到仓库:Anyexyz/runtime记住该 REPO

4. 创建访问令牌

访问 https://cnb.cool/profile/token/create ,创建访问令牌,使用范围建议选定刚才创建的仓库

授权范围需要勾选

  • repo-cnb-trigger:rw

  • repo-cnb-detail:r

如图

其余权限保持默认,点击 创建

你会得到这样一个东西

令牌名:cdm
Git Username:cnb
Token:1S1b53qHRtGjvzmD5hNEQFAwziD

记住此处的 Token

5. 创建 docker-composer.yml 文件

在合适的位置创建 docker-composer.yml 文件

services:
  cdm:
    container_name: cdm
    image: docker.cnb.cool/anyexyz/tools/cnb-docker-mirror:latest
    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 小时后强制关闭环境)时,服务会自动重新创建加速环境并重启加速服务。

效果一览

启动

镜像拉取

速度一览

注意事项

  • 确保仓库为公开访问

  • Token 请妥善保管,不要泄露

  • 建议使用独立组织管理镜像仓库,便于权限管理

问题反馈

如有问题或建议,请提交 Issue,或在本文下方评论。

致谢

  • 感谢 CNB 提供的强大功能和稳定环境,使得这个工具得以实现。

  • 感谢 xiaofei 大佬原项目 提供思路