用途:该技能用于管理 Polar 的本地开发环境,通过 dev docker CLI 启动、停止、调试或理解本地服务栈。
架构模型:dev docker 将栈拆分为两部分,便于多个 worktree 共享重型基础设施。共享基础设施每台机器一份,Docker 项目名为 polar-shared,包含 postgres、redis、minio、tinybird,以及可选的 prometheus/grafana。其中 postgres 和 redis 不对外发布主机端口,MinIO 暴露 9000/9001 供浏览器上传。无主机端口的服务需用 dev docker exec <service> ... 访问。每个 worktree 一份实例应用栈,项目名为 polar-app-<N>,包含 api、worker、web;只有 api 和 web 发布主机端口,并按实例偏移以避免冲突。注意本地没有 localhost:5432 数据库端口,数据库位于共享栈中,需通过 dev docker exec db ... 访问。
实例自动检测:dev docker 自动检测当前 worktree 的实例,通常无需 -i。优先级为 dev/docker/.env.docker 中的 POLAR_DOCKER_INSTANCE、跨 worktree 注册表 ~/.config/polar/docker-instances.json,否则取最小空闲编号并注册。可用 dev docker ports 查看解析后的实例与 URL(--json 供工具使用);用 dev docker launch-json 写入每实例的 .claude/launch.json(该文件被 gitignore,set-instance 后需重新生成)。
常用命令:dev docker up -d 后台启动;dev docker up -d --wait 启动并等待健康;dev docker up --no-detach 前台流式日志;dev docker up -b --pull -d 使用新基础镜像重建;dev docker ports 查看端口;dev docker down 停止应用栈,dev docker down --all 同时停止共享基础设施;dev docker logs -f [service] 跟踪日志;dev docker ps 查看状态;dev docker restart <service>、dev docker shell <service>、dev docker exec <service> <cmd>;dev docker cleanup -f 重置实例,dev docker cleanup --all -f 清空所有共享数据;dev docker list 列出所有实例;dev docker up --monitoring -d 启用监控。
服务与端口:api(polar-app-<N>,实例 0 用 8000,实例 N 为 8100+N,FastAPI,/healthz 健康检查);web(实例 0 用 3000,实例 N 为 3100+N,Next.js);worker 无主机端口;db(polar-shared,无主机端口,数据库 polar_dev_<N>);redis(无主机端口,DB index = N);minio(9000/9001,桶 polar-s3-<N>,控制台 9001);tinybird(无主机端口);prometheus/grafana 仅 --monitoring。
适用场景:启动/停止/重启本地环境、查看日志或调试无法启动的服务、并行运行多个隔离 worktree 实例、理解服务架构或查找服务真实端口、诊断容器或首次启动错误。
限制:资料未提供官方外部文档、收费或价格信息。