logo
0
0
WeChat Login
♻️ refactor(scripts): 将 gh-install.sh 和 sync-vscode-packages.sh 重复的版本跟踪函数提取为 version-utils.sh

Dev Environment

本项目提供一组预配置的开发环境 Docker 镜像,覆盖通用编辑器基础环境、Node.js/Python 基础工具链、语言开发环境和全栈镜像。

详细软件清单、插件列表和语言工具说明请查看各镜像目录下的 README,根 README 仅保留总览、依赖关系和构建入口。

$:
  vscode:
    - docker:
        image: docker.cnb.cool/wwvo/dev-env/all:latest
      services:
        - vscode
        - docker

镜像依赖关系

dev-env
├── 基础镜像
│   ├── vscode
│   └── node-python
│
├── 通用镜像
│   └── debian-trixie                 ← vscode + node-python
│
├── 语言镜像(全部基于 debian-trixie)
│   ├── c                             ← debian-trixie + gcc/clang
│   ├── cpp                           ← c + g++/boost
│   ├── nodejs                        ← debian-trixie + npm tools
│   ├── golang                        ← debian-trixie + install-golang.sh
│   ├── python                        ← debian-trixie + pyenv
│   ├── dotnet                        ← debian-trixie + install-dotnet.sh
│   └── rust                          ← debian-trixie + install-rust.sh
│
└── 全栈镜像
    └── all                           ← debian-trixie + Go/Rust/.NET/C++

构建顺序vscode / node-pythondebian-trixie → 所有语言镜像(可并行) → all

镜像索引

镜像标签基础/来源说明详情
vscodedocker.cnb.cool/wwvo/dev-env/vscode:latestdebian:trixie编辑器基础镜像,提供 code-server、VS Code Server、Windsurf Server 和 Cursor Servervscode/README.md
node-pythondocker.cnb.cool/wwvo/dev-env/node-python:latestdebian:trixieNode.js + Python 基础工具链,提供 fnm、Node.js、pnpm、bun、uv、Python 和 pipnode-python/README.md
debian-trixiedocker.cnb.cool/wwvo/dev-env/debian-trixie:latestdebian:trixie + vscode + node-python通用 Debian Trixie 开发基础镜像debian/trixie/README.md
cdocker.cnb.cool/wwvo/dev-env/c:latestdebian-trixieC 语言开发环境c/README.md
cppdocker.cnb.cool/wwvo/dev-env/cpp:latestcC++ 开发环境cpp/README.md
golangdocker.cnb.cool/wwvo/dev-env/golang:latestdebian-trixie + install-golang.shGo 开发环境golang/README.md
nodejsdocker.cnb.cool/wwvo/dev-env/nodejs:latestdebian-trixieNode.js 开发环境nodejs/README.md
pythondocker.cnb.cool/wwvo/dev-env/python:latestdebian-trixie + pyenvPython 开发环境python/README.md
rustdocker.cnb.cool/wwvo/dev-env/rust:latestdebian-trixie + install-rust.shRust 开发环境rust/README.md
dotnetdocker.cnb.cool/wwvo/dev-env/dotnet:latestdebian-trixie + install-dotnet.sh.NET 开发环境dotnet/README.md
alldocker.cnb.cool/wwvo/dev-env/all:latestdebian-trixie + Go/Rust/.NET/C++全栈开发环境all/README.md

元数据

镜像标签、Dockerfile 路径、基础镜像、依赖关系和 README 路径统一记录在 images.yml

构建镜像

默认按完整依赖顺序构建全部镜像:

./build.sh

构建指定镜像:

./build.sh c cpp rust

自动补齐上游依赖:

./build.sh --with-deps cpp

只查看构建计划,不执行 docker builddocker push

./build.sh --dry-run --with-deps all

构建参数

Registry

build.sh 默认使用以下目标:

  • Registrydocker.cnb.cool
  • Repositorywwvo/dev-env

可通过环境变量覆盖:

CNB_DOCKER_REGISTRY=example.com CNB_REPO_SLUG_LOWERCASE=team/dev-env ./build.sh

all 轻量构建

all 镜像默认安装完整 C/C++ 重型依赖。需要轻量版本时可关闭重型 C/C++ 依赖:

docker build \
  --build-arg ALL_INSTALL_HEAVY_CPP_TOOLS=false \
  -t docker.cnb.cool/wwvo/dev-env/all:lite \
  -f dockerfiles/all.Dockerfile .

通用特性

除最上游基础镜像外,语言镜像通常复用以下能力:

  • Shell:Zsh、Oh My Zsh、Fish 4
  • 时区Asia/Shanghai
  • 语言环境C.UTF-8
  • Git 配置:Git LFS、GitAlias
  • 编辑器环境:code-server、VS Code Server、Windsurf Server、Cursor Server
  • Node/Python 基础工具链:fnm、Node.js、pnpm、bun、uv、Python、pip

About

自用开发环境