Docker 部署 Skill 说明这个技能专为你的Spring Boot KingbaseES MinIO技术栈定制覆盖从本地开发到生产部署的容器化全流程。三块核心内容1. Dockerfile 模板 — 开箱即用模板用途Spring Boot 多阶段构建Maven 编译 → JRE 运行镜像瘦身内置时区 健康检查Vue3 前端容器化Node 编译 → Nginx 运行同样多阶段构建关键设计点多阶段构建编译环境和运行环境分离最终镜像只有 JRE不携带 Maven/源码健康检查/actuator/health端点让 Docker 和 Compose 能判断应用是否就绪时区处理挂载Asia/Shanghai时区避免日志时间差 8 小时2. docker-compose 编排 — 一键启动全家桶一套 YAML 拉起四个服务┌──────────────────────────────────────────────┐ │ app-net 网络 │ │ │ │ ┌──────────┐ ┌───────────┐ ┌───────────┐ │ │ │ system │ │ kingbase │ │ minio │ │ │ │ :8080 │ │ :54321 │ │ :9000/9001│ │ │ └────┬─────┘ └─────┬─────┘ └─────┬─────┘ │ │ │ │ │ │ │ └──────┬───────┘ │ │ │ │ depends_on │ │ │ ┌──────┴──────────────────────┘ │ │ │ 启动顺序: kingbase就绪 → app启动 │ │ │ minio启动后 → app启动 │ │ └────────────────────────────────────── │ │ ┌──────────┐ │ │ │ xf-ui │ ← nginx 静态服务 :80 │ │ └──────────┘ │ └──────────────────────────────────────────────┘关键细节数据持久化KingbaseES 和 MinIO 的数据通过volumes挂载容器销毁数据不丢启动依赖depends_oncondition: service_healthy确保数据库就绪后才启动应用网络隔离所有服务在app-net内网互通只暴露必要端口3. 运维命令速查日常操作都列好了docker-compose up -d --build # 首次/代码变更后重建 docker-compose logs -f app # 实时看应用日志 docker exec -it xf-system sh # 进容器排查 docker-compose down # 停止数据卷保留 docker-compose down -v # 完全清理⚠️ 数据丢失使用方式直接说「Docker 部署帮我写一个System 项目的 compose 文件」就会按你项目的实际配置生成可用的编排文件。文件目录和文件下载