# Docker 实施计划

## 文件清单

| 文件 | 作用 |
|------|------|
| `Dockerfile` | Python 3.12 镜像，打包 server + web/app |
| `docker-compose.yml` | mysql、redis、nexus |
| `docker/entrypoint.sh` | 等待依赖、`.env` 持久化、启动 uvicorn |
| `docker/.env.example` | 开发环境变量模板 |
| `docker/generate-env.sh` | 生成随机密钥到 `docker/.env` |
| `.dockerignore` | 缩小构建上下文 |
| `docker/README.md` | 使用说明 |

## 步骤

1. 编写设计文档（本计划对应 spec）
2. 实现 Dockerfile / entrypoint / compose
3. 本地 `docker compose build && docker compose up -d`
4. 验证 `/health` 与安装页
5. changelog + 审计摘要

## 回滚

删除容器与卷：`docker compose down -v`。不影响裸机部署。

## 测试要点

- 冷启动：仅 install 模式
- 填入 `docker/.env` 后：正常模式 + 表初始化
- 容器重启：`.env` 从 `nexus-state` 恢复
