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 大佬原项目 提供思路

相关推荐
门前灯32 分钟前
Linux系统之iprconfig 命令详解
linux·运维·服务器·iprconfig
tb_first1 小时前
k8sday09
linux·云原生·容器·kubernetes
忧郁的橙子.1 小时前
三、k8s 1.29 之 安装2
linux·运维·服务器
huangyuchi.1 小时前
【Linux系统】动静态库的制作
linux·运维·服务器·动态库·静态库·库的简单制作
闻不多1 小时前
用llamaindex搭建GAR遇到400
android·运维·服务器
jim写博客2 小时前
Linux进程概念(四)环境地址变量
linux·运维·服务器
是小崔啊2 小时前
【Jenkins】01 - Jenkins安装
运维·jenkins
Nie_Xun3 小时前
ubuntu网络共享
linux·运维·ubuntu
天上掉下来个程小白3 小时前
Docker-14.项目部署-DockerCompose
运维·docker·微服务·容器
花小璇学linux3 小时前
imx6ull-驱动开发篇22——Linux 时间管理和内核定时器
linux·运维·驱动开发