logo
2
0
Login
feat: 增加了分层构建脚本

Maikebuke 定制 CNB 运行时


CNB 官方默认的环境

CNB 官方推荐的镜像加速

更新镜像

# step 1. 修改 docker/Dockerfile.builder / docker/Dockerfile.runtime # step 2. 构建脚本 (可先 --no-push 验证) ./scripts/build-docker.sh --no-push # step 3. 构建并推送 ./scripts/build-docker.sh

镜像结构

  • builder-{cpu|gpu}:仅包含系统依赖、Python/Node 工具链以及 CI/CD 需要的基础能力,镜像命名 ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/builder-{arch}
  • runtime:沿用旧命名 ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/{cpu|gpu},依赖对应 builder 镜像,额外提供 Oh My Zsh、code-server、VS Code 扩展,以及 npm agents (codex/claude-code 等) 与 Python 工具 (coscmd、huggingface_hub、black、pylint)。
  • 通过 ARG ENABLE_GPU=true|false 控制 GPU 相关依赖是否安装,构建脚本会自动为 GPU 变种设置该参数。

构建脚本用法

# 构建并推送所有镜像 (默认) ./scripts/build-docker.sh # 仅构建 CPU builder 镜像 ./scripts/build-docker.sh --type cpu --stage builder --no-push # 指定版本号推送 GPU runtime 镜像 ./scripts/build-docker.sh --type gpu --stage runtime 1.2.3

构建 runtime 镜像前,需要本地或远程已经存在同架构的 builder 镜像(默认引用 builder-{arch}:latest)。

文件介绍

  • docker/Dockerfile.builder 构建 CI/CD builder 镜像
  • docker/Dockerfile.runtime 基于 builder 镜像的开发运行时
  • scripts/build-docker.sh 构建镜像的脚本
  • scripts/roaming_env.sh 备份常用的环境配置到 CNB 的全局漫游目录中
  • scripts/upload_release.py 将指定的附件上传到当前仓库的 Release 中