为一个多服务项目写 compose 文件:网络、卷、健康检查与环境变量。
本地一键起环境、小型项目上线、CI 预览环境。
帮我写一份 docker-compose 部署方案。 【服务组成】{{服务组成}} 【环境】{{运行环境}} 【持久化】{{持久化需求}} 【特殊要求】{{特殊要求}} 输出: 1. 架构说明:服务之间谁访问谁、走不走内网、哪些端口对外,用文字画一个简单的依赖关系。 2. docker-compose.yml 完整内容: - 每个服务写 image/build、restart 策略、环境变量引用 .env - 注明 depends_on 与健康检查(healthcheck) - 命名卷用于{{持久化需求}} - 只暴露必要端口 3. .env.example:列出所有需要的环境变量,含说明与示例值,敏感项留空。 4. 各服务 Dockerfile(如需要):多阶段构建、非 root 用户、精简基础镜像。 5. 初始化与迁移:数据库首次初始化、后续迁移的执行方式与顺序。 6. 常用命令清单:起、停、重建、看日志、进容器、备份数据卷,每条一句说明。 7. 排障表:容器起不来看什么、端口冲突、卷权限、服务启动顺序依赖,各给一条定位命令。 8. 上线检查清单:6 条(时区、日志轮转、资源限制、备份、防火墙、镜像版本固定)。 不要使用 latest 标签,也不要把密码直接写在 compose 文件里。
命名卷不会随 down 删除,但 docker volume prune 会,注意别乱清。
定时 dump 数据库 + 打包上传目录,别只依赖卷。