最小化云原生开发环境基础镜像,其他项目通过
FROM继承。
基础镜像只包含所有项目都需要的、与语言/框架无关的内容:
项目级配置(格式化、lint、语言服务器、编辑器行为)通过 fork 项目模板仓库 实现。
base-dev-env/ ├── .ide/ │ ├── Dockerfile ← 云原生基础镜像构建文件 │ └── settings.json ← Machine 维度 COPY 源(主题/字体/终端/CNB Schema) ├── .cnb.yml ← CNB 主配置(云原生开发 + 镜像构建流水线) ├── .cnb/ │ └── settings.yml ← 启动按钮配置 └── README.md ← 你正在看的文件
| 类别 | 插件 | 用途 |
|---|---|---|
| 平台集成 | cnbcool.cnb-welcome | CNB 欢迎页 |
| 平台集成 | tencent-cloud.coding-copilot | AI 编程助手 |
| 平台集成 | redhat.vscode-yaml | YAML 格式化 + CNB Schema |
| Git 增强 | waderyan.gitblame | 行内 Git 修改者 |
| Git 增强 | mhutchie.git-graph | Git 分支图 |
| Git 增强 | donjayamanne.githistory | 文件修改历史 |
| 开发工具 | cloudstudio.live-server | 本地开发服务器 |
| 开发工具 | ms-azuretools.vscode-containers | Docker 容器管理 |
| 视觉体验 | Catppuccin.catppuccin-vsc | Catppuccin 颜色主题 |
| 视觉体验 | Catppuccin.catppuccin-vsc-icons | Catppuccin 文件图标 |
| 语言支持 | ms-ceintl.vscode-language-pack-zh-hans | 中文语言包 |
cnb-openapi-skills 是 CNB 平台的 OpenAPI 技能包,安装到 ~/.codebuddy/skills/ 目录。
作用:为 AI 编程助手(CodeBuddy / Claude Code)提供完整的 CNB 平台 API 知识,使其能通过自然语言直接操作 CNB 平台,包括:
使用方式:在云原生开发环境中,直接用自然语言向 AI 助手发出指令即可,例如:
AI 助手会自动调用 CNB API 完成操作。需要配置 CNB_TOKEN 环境变量以获得 API 访问权限。
| 工具 | 用途 |
|---|---|
ca-certificates | 提供SSL证书支持 |
tzdata | 时区数据 |
locales | 多语言支持(中文环境) |
| 工具 | 用途 |
|---|---|
iputils-ping | 网络连通性测试工具 |
net-tools | 提供ifconfig等网络配置工具 |
dnsutils | 提供nslookup等DNS查询工具 |
telnet | 网络连接测试工具 |
netcat-openbsd | 网络工具,用于端口测试等 |
| 工具 | 用途 |
|---|---|
wget | 网络文件下载工具 |
curl | 网络请求工具 |
| 工具 | 用途 |
|---|---|
unzip | 文件解压工具 |
zip | 文件压缩工具 |
jq | JSON处理工具 |
rsync | 文件同步工具 |
nano | 轻量级文本编辑器 |
vim | 文本编辑器 |
| 工具 | 用途 |
|---|---|
htop | 增强的系统监控工具 |
lsof | 查看打开的文件和网络连接 |
bash-completion | 命令自动补全 |
| 工具 | 用途 |
|---|---|
git | 版本控制系统 |
git-lfs | Git大文件支持 |
openssh-server | SSH服务器,支持远程连接 |
build-essential | 基础编译工具 |
make | 构建系统工具 |
python3-pip | Python包管理工具 |
openssl | SSL工具 |
libssl-dev | SSL开发库 |
libltdl-dev | 库依赖工具 |
zsh | 增强的命令行环境 |
| 别名 | 命令 | 用途 |
|---|---|---|
cl | clear | 清屏 |
dp | docker ps | 查看运行中的容器 |
di | docker images | 查看本地镜像 |
cdw | cd /workspace | 快速切换到工作目录 |
dc | docker compose | Docker Compose 快捷命令 |
docker-compose | docker compose | 兼容旧命令 |
src | source ~/.zshrc | 重新加载 zsh 配置 |
bash | zsh | 替换 bash 为 zsh |
hs | history | 查看命令历史 |
.. | cd .. | 上一级目录 |
... | cd ../.. | 上两级目录 |
openw | "$BROWSER" "$CNB_VSCODE_WEB_URL" | 打开 WebIDE |
openv | "$BROWSER" "$CNB_VSCODE_REMOTE_SSH_SCHEMA" | 打开 VSCode 远程 SSH |
open | "$BROWSER" "http://localhost:$1" | 打开本地端口 |
openr | "$BROWSER" "$(echo "${CNB_VSCODE_PROXY_URI//\{\{port\}\}/$1}")" | 打开 CNB 代理端口 |
ls | lsd | 增强版 ls |
ll | lsd -l | 详细列表 |
la | lsd -a | 显示隐藏文件 |
lla | lsd -la | 详细列表 + 隐藏文件 |
lt | lsd --tree | 树形视图 |
%Y-%m-%d %T(年-月-日 时:分:秒)ls, cd, pwd, exit 等/root/.cnb/system/zsh_history字体渲染在浏览器端,需用户本地安装对应字体。
基础镜像将视觉体验配置写入 Machine 维度,子项目通过 .vscode/settings.json 覆盖或追加:
仓库维度 (.vscode/settings.json) ← 子项目增量配置 ↓ 覆盖 机器维度 (Machine/settings.json) ← 基础镜像:主题/字体/终端/CNB Schema
.cnb.yml 中 build.by 声明了 COPY 需要的文件,未声明的文件在构建时不可见:
docker:
build:
dockerfile: .ide/Dockerfile
by:
- .ide/settings.json
┌─────────────────────────────────────────────┐ │ 子项目 Dockerfile │ │ (仅安装项目专属工具和配置) │ ├─────────────────────────────────────────────┤ │ 基础镜像(本仓库) │ │ debian:trixie + code-server + 8 个插件 │ │ zsh + oh-my-zsh + starship + lsd │ │ cnb-openapi-skills + Machine 维度配置 │ └─────────────────────────────────────────────┘
在 cnb.cool 上创建一个新仓库(如 base-dev-env)
git add .
git commit -m "init: minimal base dev environment"
git push
.cnb.yml,确认有 YAML Schema 自动补全