Docker基础环境使用说明.md 3.0 KB

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.ps1scripts/init-databases.sh 默认使用容器名 zhibaotong-mysql,与本 compose 文件保持一致。

3. 启动基础环境

先启动 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 中的首次初始化命令。

docker compose ps 还应显示 MySQL 的 0.0.0.0:3306->3306/tcp 端口映射。如果没有该映射,通常是本机已有 MySQL 占用了 3306。请先停止本机原有 MySQL 服务,再重新执行上面的 Docker 启动命令;不要让本机 MySQL 与 Docker MySQL 同时占用 3306。

4. backend/.env 配置

使用本 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 配置。

5. 停止与再次启动

停止容器但保留数据:

docker compose -f database/compose.yaml stop

再次启动:

docker compose -f database/compose.yaml start

MySQL 和 Redis 数据保存在 Docker 命名卷中。不要执行 docker compose down -v,该命令会删除本地数据库和 Redis 数据。

6. 已存在同名容器

如果本机已经存在 zhibaotong-mysqlzhibaotong-redis,并且能够正常使用,可以继续使用已有容器,不需要重复执行 docker compose up

如需改用本 compose 文件,应先自行确认旧容器中的数据是否需要保留,再处理同名容器,避免误删现有数据。