compose.yaml 用于启动智保通本地开发所需的 MySQL 8 和 Redis 7。
该文件只负责基础设施,不负责导入业务数据,也不负责启动后端、H5 或管理后台。容器启动后,仍需回到项目根目录,按照根目录 README.md 的“首次初始化”顺序执行数据和知识库初始化脚本。
第二、第三阶段使用的 Milvus 不包含在本文件中,请使用已经安装好的本地 Milvus。
| 服务 | 容器名称 | 地址 | 账号 | 密码 |
|---|---|---|---|---|
| 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 文件保持一致。
先启动 Docker Desktop,然后在项目根目录执行:
docker compose -f database/compose.yaml up -d
Windows PowerShell、macOS 和 Linux 使用相同命令。
首次运行可能需要下载 MySQL 和 Redis 镜像。查看容器状态:
docker compose -f database/compose.yaml ps
当 MySQL 和 Redis 的状态均为 healthy 后,再执行根目录 README.md 中的首次初始化命令。
使用本 compose 文件时,backend/.env 中的公共连接配置应与下面保持一致:
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 配置。
停止容器但保留数据:
docker compose -f database/compose.yaml stop
再次启动:
docker compose -f database/compose.yaml start
MySQL 和 Redis 数据保存在 Docker 命名卷中。不要执行 docker compose down -v,该命令会删除本地数据库和 Redis 数据。
如果本机已经存在 zhibaotong-mysql 或 zhibaotong-redis,并且能够正常使用,可以继续使用已有容器,不需要重复执行 docker compose up。
如需改用本 compose 文件,应先自行确认旧容器中的数据是否需要保留,再处理同名容器,避免误删现有数据。