logo
0
0
Login

CNB Docker Mirror (cdm)

CNB Docker Mirror 是一个基于 CNB 的 Docker 镜像加速工具,提供镜像同步和本地加速两种使用模式。

建议使用VSCODE插件 cnb.cool ,在界面上操作更方便,除了同步镜像外,还有别的强大的功能。 传送门

**如果只是同步镜像的话,建议使用另外一个开源项目 https://cnb.cool/xiaofei/docker-sync,无需任何安装过程,Fork后就可以在界面上直接操作,更加方便快捷。 **

功能特性

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

快速开始

1. 安装

Release 页面 下载对应平台的可执行文件,并将重命名成cdm后并添加到系统环境变量。您可能需要使用chmod +x cdm来赋予执行权限。

2. 配置

2.1 创建 Token

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

2.2 创建仓库

  1. 在 CNB 上创建一个公开仓库(确保有 main 分支)
  2. 此仓库将用于存储同步的镜像或者启动云开发环境

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

2.3 配置工具

使用以下命令配置 Token 和仓库地址:

cdm config set --token <your-token> --repo <your-repo>

示例:

cdm config set --token 1234567890 --repo xiaofei/dockerbuild

3. 使用指南

同步模式

将指定镜像同步到 CNB 制品库:

cdm image sync -source <image-name>

示例:

cdm image sync -source nginx

运行效果:

同步模式运行效果

镜像加速模式

启动本地镜像加速服务:

cdm image mirror

提示: 您可以通过使用nohup或者tmux之类的工具来确保服务在后台运行,例如:

nohup cdm image mirror &

运行效果:

镜像加速模式运行效果

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

注意事项

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

问题反馈

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

致谢

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

About

利用cnb将指定docker镜像同步到cnb制品库

Language
Go89.2%
Markdown8.6%
Dockerfile2.1%
gitignore0.1%