Docker Hub Mirror 终极解决方案——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 运行

bash 复制代码
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. 添加以下内容:
json 复制代码
{
  "insecure-registries": [
    "0.0.0.0:50000"
  ],
  "registry-mirrors": [
    "http://0.0.0.0:50000"
  ]
}
  1. 重启 Docker 服务:
bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

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

注意事项

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

问题反馈

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

支持作者

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

致谢

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

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

相关推荐
虎头金猫33 分钟前
北理工宫某的瓜ppt下载地址
运维·微服务·云原生·容器·服务发现
像素之间1 小时前
ts中的类型
linux·运维·ubuntu·typescript
羑悻的小杀马特1 小时前
【Linux篇章】进程通信黑科技:匿名管道的暗码传递与命名管道的实名使命
linux·运维·科技·匿名管道·命名管道
LCY1334 小时前
6. k8s 之存储配置
云原生·容器·kubernetes
运维Linux和python8 小时前
k8s中sidecar死循环
云原生·容器·kubernetes
美亚特直线轴承8 小时前
直线轴承在自动化机械设备中的应用
运维·人工智能·经验分享·笔记·机器人·自动化·制造
工具罗某人9 小时前
云效部署实现Java项目自动化部署图解
运维
极小狐9 小时前
极狐GitLab 项目 API 的速率限制如何设置?
大数据·运维·git·elasticsearch·gitlab
云达闲人10 小时前
系统架构设计师:计算机组成与体系结构(如CPU、存储系统、I/O系统)案例分析与简答题、详细解析与评分要点
运维·系统架构·软考·系统架构设计师
pp-周子晗(努力赶上课程进度版)10 小时前
【Linux】线程ID、线程管理、与线程互斥
linux·运维·服务器·开发语言