用途:为 DigitalOcean App Platform 应用建立与生产环境尽量一致的本地开发环境,目标是获得约30秒的反馈循环,替代约7分钟的部署循环。适用于新项目初始化,以及为已有 App Platform 应用补齐本地运行能力;也支持无 IDE 的纯 CLI 测试流程(见 cli-workflow.md)。
主要能力:提供参考仓库中的 .devcontainer 目录,包含 devcontainer.json、docker-compose.yml(含全部7个后端服务)、init.sh(支持 Git worktree)、post-create.sh 与服务连通性测试脚本。通过 COMPOSE_PROFILES 选择服务,可选配置包括 postgres(PostgreSQL 18)、mysql(MySQL 8)、mongo(MongoDB 8)、valkey(Valkey 8)、kafka(Confluent Kafka 7.7)、minio(RustFS,S3 兼容存储)、opensearch(OpenSearch 3.0)。devcontainer.json 中可声明 GitHub CLI、Node、Python、uv、DigitalOcean CLI、Claude Code、docker-outside-of-docker 等 features。
使用方式:克隆参考仓库并复制 .devcontainer 到项目;按需修改 devcontainer.json 中的 COMPOSE_PROFILES;创建 env-devcontainer.example 填写连接串;在 VS Code 或 Cursor 中选择“Reopen in Container”。容器内使用服务名连接(如 postgres:5432),宿主机端口可用 docker compose port 查询。测试命令示例:.devcontainer/tests/run-all-tests.sh --all;也可指定服务或使用 --list。已有 App Platform 应用需读取 .do/app.yaml 检测服务,并按映射关系选择本地 profile(如 PG→postgres、REDIS→valkey、Spaces→minio)。
适用场景:本地开发调试、服务依赖联调、在本地验证 App Platform 应用行为、为 AI 代理提供 CLI 验证流程。
限制:不处理云部署、生产应用规格设计、数据库迁移(需自备迁移工具)、DigitalOcean Functions(无法容器化)以及 SSL/TLS(本地为 HTTP,生产自动处理 SSL)。Kafka 启动需60秒以上,OpenSearch 需30-60秒;OpenSearch 可能出现内存不足,可调整 OPENSEARCH_JAVA_OPTS。端口冲突、Git 命令失败、权限问题等有对应排查建议。