Docker Hub Mirror 终极解决方案——0成本,超高速!

发布于:2025-03-25 ⋅ 阅读:(25) ⋅ 点赞:(0)

CNB Docker Mirror (cdm)

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

功能特性

  • 镜像加速:在本地启动连接到 CNB 环境的 Docker 镜像加速服务,然后通过配置 Docker 客户端实现镜像加速下载
  • 自动重连:镜像加速服务具备自动心跳保活和断线重连机制

使用指南

1 创建 Token

  1. 访问 https://cnb.cool/profile/token/create 创建 Token
  2. 确保 Token 具有以下权限:
    • repo-cnb-trigger:rw
    • repo-cnb-detail:r

2 创建仓库

  1. 在 CNB 上创建一个公开仓库(确保有 main 分支),仓库名为 {CNB_REPO},如 Anyexyz/cdm/runtime
  2. 此仓库将用于存储同步的镜像或者启动云开发环境

提示:建议创建独立的顶级组织以及在该组织下创建仓库

3 使用 docker-compose 运行

cat >> docker-compose.yml <<EOF
services:
  cdm:
    container_name: cdm
    image: docker.cnb.cool/anyexyz/cdm/docker-mirror:latest-linux-amd64
    ports:
      - "50000:50000"
    environment:
      - CNB_TOKEN=${CNB_TOKEN}
      - CNB_REPO=${CNB_REPO}
    restart: unless-stopped
EOF

注意:请确保同时设置CNB_TOKEN和CNB_REPO环境变量,否则程序将无法正常运行。

4. 配置 Docker 客户端

  1. 编辑 Docker 客户端配置文件(通常为 /etc/docker/daemon.json
  2. 添加以下内容:
{
  "insecure-registries": [
    "0.0.0.0:50000"
  ],
  "registry-mirrors": [
    "http://0.0.0.0:50000"
  ]
}
  1. 重启 Docker 服务:
sudo systemctl daemon-reload
sudo systemctl restart docker

特性说明:镜像加速服务启动后会自动与 CNB 建立心跳连接以保持会话。当检测到 CNB 断开(CNB 会在 16 小时后强制关闭环境)时,服务会自动重新创建加速环境并重启加速服务。

注意事项

  • 确保仓库为公开访问
  • Token 请妥善保管,不要泄露
  • 建议使用独立组织管理镜像仓库,便于权限管理

问题反馈

如有问题或建议,请提交 Issue。

支持作者

https://cnb.cool/users/Anye/appreciate

致谢

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

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


网站公告

今日签到

点亮在社区的每一天
去签到