D
Docker配置生成器
作者:鹿Sir开发工具v1
Docker配置生成器,自动生成生产级Dockerfile和docker-compose配置。支持前端(React/Vue)、后端(Java/Python/Node.js/Go)、全栈等多种技术栈。当需要容器化项目、生成Docker配置、创建docker-compose编排时使用。触发词:Docker、Dockerfile、docker-compose、容器化、容器配置、多容器编排、Docker生成。
下载量
255
点赞
64
价格
免费
技能文档
--- name: docker-peizhi-shengcheng description: "Docker配置生成器,自动生成生产级Dockerfile和docker-compose配置。支持前端(React/Vue)、后端(Java/Python/Node.js/Go)、全栈等多种技术栈。当需要容器化项目、生成Docker配置、创建docker-compose编排时使用。触发词:Docker、Dockerfile、docker-compose、容器化、容器配置、多容器编排、Docker生成。" --- # Docker 配置生成器 生成生产级 Docker 配置,支持容器化开发和部署。 ## 功能范围 - **支持**:生成 Dockerfile、docker-compose、.dockerignore、nginx 配置 - **不支持**:构建镜像、启动容器、管理部署 ## 输入参数 | 参数 | 来源 | 说明 | |------|------|------| | **技术栈** | 用户指定或自动检测 | frontend, backend-java, backend-python, backend-node, backend-go | | **版本号** | 自动检测 | Java/Python/Node.js/Go 版本 | | **项目名称** | 目录名 | 用于容器命名 | | **端口** | 默认或检测 | 前端:3000, 后端:5000/8000, 数据库:5432 | ## 输出文件 | 文件 | 用途 | |------|------| | `Dockerfile` | 应用构建和运行 | | `docker-compose.yml` | 服务编排 | | `.dockerignore` | 构建上下文排除 | | `nginx.conf` | 前端代理配置(前端项目) | ## 工作流程 ### 阶段一:输入验证 - 检查技术栈是否支持 - 验证版本号有效性 - 确认项目目录存在 ### 阶段二:模板选择 | 技术栈 | 使用模板 | |--------|----------| | **前端** | Dockerfile(多阶段构建+nginx) + nginx.conf + .dockerignore | | **后端 Java** | Dockerfile(SDK构建+JRE运行) + docker-compose + .dockerignore | | **后端 Python** | Dockerfile(构建+slim运行) + docker-compose + .dockerignore | | **后端 Node.js** | Dockerfile(构建+node运行) + docker-compose + .dockerignore | | **后端 Go** | Dockerfile(编译+scratch/alpine) + docker-compose + .dockerignore | | **全栈** | 以上组合 | ### 阶段三:变量替换 | 变量 | 来源 | 示例 | |------|------|------| | `JAVA_VERSION` | pom.xml/build.gradle | 21 | | `PYTHON_VERSION` | pyproject.toml/requirements.txt | 3.12 | | `NODE_VERSION` | package.json engines | 22 | | `GO_VERSION` | go.mod | 1.22 | | `PROJECT_NAME` | 目录名 | my-app | | `FRONTEND_PORT` | 默认或检测 | 3000 | | `BACKEND_PORT` | 技术栈决定 | 8080(Java)/8000(Python) | ### 阶段四:文件生成 1. 检查文件是否已存在(覆盖前警告) 2. 执行变量替换 3. 写入文件到对应位置 4. 语法验证 ## 支持的技术栈 ### 前端:React/Vue + Nginx - 多阶段 Dockerfile(builder + nginx) - Nginx 配置含 SPA 路由和 API 代理 - 静态资源缓存配置 ### 后端:Java (Spring Boot/Maven/Gradle) - 多阶段 Dockerfile(Maven/Gradle 构建 + JRE 运行) - 健康检查端点配置 - JVM 参数优化 ### 后端:Python (FastAPI/Django/Flask) - 多阶段 Dockerfile(builder + slim 运行) - uvicorn(FastAPI) / gunicorn(Django) 入口 - 依赖缓存优化 ### 后端:Node.js (Express/Nest.js) - 多阶段 Dockerfile(build + node 运行) - pnpm/yarn/npm 支持 - 生产依赖优化 ### 后端:Go - 多阶段 Dockerfile(编译 + scratch/alpine) - 静态编译 - 最小镜像体积 ## 安全与性能最佳实践 | 实践 | 实现方式 | |------|----------| | **非root用户** | 创建并使用 appuser (UID 1001) | | **最小镜像** | Alpine/slim 变体 | | **多阶段构建** | 构建工具不进入运行镜像 | | **无密钥硬编码** | 使用环境变量 | | **健康检查** | HEALTHCHECK 指令 | | **版本锁定** | 固定基础镜像版本 | | **层缓存优化** | 先复制依赖文件,后复制源码 | | **BuildKit缓存** | pip/npm 使用 `--mount=type=cache` | ## 质量检查清单 - [ ] `docker-compose config` 验证无错误 - [ ] 所有基础镜像使用固定版本(非 `latest`) - [ ] 非 root 用户已配置 - [ ] 所有服务含健康检查 - [ ] .dockerignore 排除敏感文件 - [ ] 无硬编码密钥或密码
支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手