docker-builder:把 .devcontainer/ 从手写变成一句话生成

github.com/Nemocccc/do...


写在前面

每次开新项目,都要把上一个项目的 .devcontainer/ 翻出来,照着改 image 标签、forwardPorts、postCreateCommand------漏改一个,build 就炸,调半天。

docker-builder 就是为这种场景做的:面向多语言个人 dev 项目(python+cpp / node+python / rust+go 之类)的 dev 环境脚手架。一行命令,5 秒出一个能直接用的 .devcontainer/,base image、工具链、git/sudo/vscode user 通用块都帮你拼好。

长这样

lua 复制代码
$ docker-builder list
preset        image                           post-create
----------------------------------------------------------------------------
base          debian:13-slim                  bash --version
cpp           debian:13-slim                  g++ --version && cmake --version
go            golang:1.26-trixie              go version
node-vite     node:24-trixie-slim             pnpm --version
python        python:3.14-slim-trixie         uv --version
rust          rust:1-trixie                   rustc --version && cargo --version

$ docker-builder new myapp --preset python cpp
✓ created ./myapp/
✓ created .devcontainer/Dockerfile
✓ created .devcontainer/devcontainer.json
  next: cd myapp && docker-builder up

$ cd myapp && docker-builder up
# 自动 build + 启动 + attach shell,Ctrl+D 退到 host

--preset 还能继续叠加:python cpp rust、rust python 都可以。第一个 preset 决定 base image,后面的把各自工具链的 RUN 块加到同一个 base 上,不开 multi-stage。

一些特性

  • stdlib only(Python 3.9+),不依赖 pip / brew
  • 基于 dev container spec + devcontainer CLI,VS Code / Codespaces / Gitpod 都能直接用
  • 6 个内置 preset 在 presets/ 目录,git 跟踪,怎么改都你说了算
  • 生成出来的 Dockerfile 和 devcontainer.json 不会被工具覆盖(--force 才会)

GitHub: github.com/Nemocccc/do...

欢迎有想法的 PR,自己写的小垃圾,要是屎到大家了别介意

相关推荐
Java开发追求者13 小时前
windows快速安装docker
windows·docker·安装·1024程序员节
骑着蜗牛撵大象32715 小时前
飞牛fnOS部署Damselfly:Compose编排、照片目录与7100固定访问
java·docker·rpc·dubbo·fnos·照片管理·damselfly
一掬净土16 小时前
kubelet 报错如下:docker does not support reopening container log files
docker·云原生·kubelet·logfiles
TTATTC17 小时前
为什么 Python 做 Agent 总在并发中崩溃?拆解 Blockcell 在 Rust 下的 Host-Cell 隔离与自愈状态机
docker·开源
骑着蜗牛撵大象32720 小时前
N1 小盒子撑起 AI 接口中转层:New-API 接管本地 Ollama,用 Token 分发模型能力
docker·llama·1024程序员节·api网关·飞牛nas·new-api
艸肅20 小时前
Docker 国内镜像源配置
linux·ubuntu·docker·1024程序员节
java_logo20 小时前
Docker 部署 Bililive-go:轻松搭建多平台直播录制
docker·1024程序员节·直播录制·轩辕镜像·bililive-go·chigusa/bililive-go
A-刘晨阳21 小时前
【云原生】nerdctl 部署及使用指南
运维·docker·kubernetes·云计算·1024程序员节·nerdctl
bigbig_ben1 天前
yearning安装docker
运维·docker·容器
吴声子夜歌1 天前
Docker入门与实战——热门镜像介绍
运维·docker·容器