|
|
@@ -0,0 +1,81 @@
|
|
|
+# Docker 基础环境使用说明
|
|
|
+
|
|
|
+## 1. 用途
|
|
|
+
|
|
|
+`compose.yaml` 用于启动智保通本地开发所需的 MySQL 8 和 Redis 7。
|
|
|
+
|
|
|
+该文件只负责基础设施,不负责导入业务数据,也不负责启动后端、H5 或管理后台。容器启动后,仍需回到项目根目录,按照根目录 `README.md` 的“首次初始化”顺序执行数据和知识库初始化脚本。
|
|
|
+
|
|
|
+第二、第三阶段使用的 Milvus 不包含在本文件中,请使用已经安装好的本地 Milvus。
|
|
|
+
|
|
|
+## 2. 容器与连接信息
|
|
|
+
|
|
|
+| 服务 | 容器名称 | 地址 | 账号 | 密码 |
|
|
|
+|---|---|---|---|---|
|
|
|
+| MySQL 8 | `zhibaotong-mysql` | `127.0.0.1:3306` | `root` | `mysql147258` |
|
|
|
+| Redis 7 | `zhibaotong-redis` | `127.0.0.1:6379` | 无 | `redis147258` |
|
|
|
+
|
|
|
+第二、第三阶段的 `scripts/init-databases.ps1` 和 `scripts/init-databases.sh` 默认使用容器名 `zhibaotong-mysql`,与本 compose 文件保持一致。
|
|
|
+
|
|
|
+## 3. 启动基础环境
|
|
|
+
|
|
|
+先启动 Docker Desktop,然后在项目根目录执行:
|
|
|
+
|
|
|
+```bash
|
|
|
+docker compose -f database/compose.yaml up -d
|
|
|
+```
|
|
|
+
|
|
|
+Windows PowerShell、macOS 和 Linux 使用相同命令。
|
|
|
+
|
|
|
+首次运行可能需要下载 MySQL 和 Redis 镜像。查看容器状态:
|
|
|
+
|
|
|
+```bash
|
|
|
+docker compose -f database/compose.yaml ps
|
|
|
+```
|
|
|
+
|
|
|
+当 MySQL 和 Redis 的状态均为 `healthy` 后,再执行根目录 `README.md` 中的首次初始化命令。
|
|
|
+
|
|
|
+## 4. backend/.env 配置
|
|
|
+
|
|
|
+使用本 compose 文件时,`backend/.env` 中的公共连接配置应与下面保持一致:
|
|
|
+
|
|
|
+```dotenv
|
|
|
+MYSQL_HOST=127.0.0.1
|
|
|
+MYSQL_PORT=3306
|
|
|
+MYSQL_USER=root
|
|
|
+MYSQL_PASSWORD=mysql147258
|
|
|
+
|
|
|
+REDIS_URL=redis://:redis147258@127.0.0.1:6379/0
|
|
|
+```
|
|
|
+
|
|
|
+各阶段使用的数据库名称如下:
|
|
|
+
|
|
|
+| 阶段 | Core 数据库 | Agent 数据库 | Analytics 数据库 |
|
|
|
+|---|---|---|---|
|
|
|
+| 第一阶段 | `insurance_s1_core` | `insurance_s1_agent` | `insurance_s1_analytics` |
|
|
|
+| 第二阶段 | `insurance_s2_core` | `insurance_s2_agent` | `insurance_s2_analytics` |
|
|
|
+| 第三阶段 | `insurance_s3_core` | `insurance_s3_agent` | `insurance_s3_analytics` |
|
|
|
+
|
|
|
+请根据当前分支填写对应的三个 `MYSQL_*_DATABASE` 配置。
|
|
|
+
|
|
|
+## 5. 停止与再次启动
|
|
|
+
|
|
|
+停止容器但保留数据:
|
|
|
+
|
|
|
+```bash
|
|
|
+docker compose -f database/compose.yaml stop
|
|
|
+```
|
|
|
+
|
|
|
+再次启动:
|
|
|
+
|
|
|
+```bash
|
|
|
+docker compose -f database/compose.yaml start
|
|
|
+```
|
|
|
+
|
|
|
+MySQL 和 Redis 数据保存在 Docker 命名卷中。不要执行 `docker compose down -v`,该命令会删除本地数据库和 Redis 数据。
|
|
|
+
|
|
|
+## 6. 已存在同名容器
|
|
|
+
|
|
|
+如果本机已经存在 `zhibaotong-mysql` 或 `zhibaotong-redis`,并且能够正常使用,可以继续使用已有容器,不需要重复执行 `docker compose up`。
|
|
|
+
|
|
|
+如需改用本 compose 文件,应先自行确认旧容器中的数据是否需要保留,再处理同名容器,避免误删现有数据。
|