From e75b949bab06d73bf4edd938abcca0559cb8750c Mon Sep 17 00:00:00 2001 From: hajimi Date: Sat, 1 Aug 2026 15:18:44 +0800 Subject: [PATCH] feat: add persistent mysql and redis services --- docker/docker-compose.dev.yml | 39 +++++++++++++++++++++++++++++++++++ docs/业务进度管理.md | 5 ++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index 84c05d0..241d270 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -58,6 +58,45 @@ services: networks: - sport-era-dev + mysql: + image: mysql:8.2 + restart: unless-stopped + environment: + MYSQL_ROOT_PASSWORD: ${SPORT_ERA_MYSQL_ROOT_PASSWORD:-root} + MYSQL_DATABASE: ${SPORT_ERA_MYSQL_DATABASE:-sbnews} + MYSQL_USER: ${SPORT_ERA_MYSQL_USER:-sbnews} + MYSQL_PASSWORD: ${SPORT_ERA_MYSQL_PASSWORD:-sbnews} + TZ: Asia/Shanghai + ports: + - "${SPORT_ERA_MYSQL_PORT:-3307}:3306" + volumes: + - ./data/mysql:/var/lib/mysql + healthcheck: + test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -uroot -p$$MYSQL_ROOT_PASSWORD --silent"] + interval: 10s + timeout: 5s + retries: 10 + start_period: 30s + networks: + - sport-era-dev + + redis: + image: registry.cn-guangzhou.aliyuncs.com/likeadmin/redis:7.4.0 + restart: unless-stopped + command: redis-server --appendonly yes + ports: + - "${SPORT_ERA_REDIS_PORT:-6379}:6379" + volumes: + - ./data/redis:/data + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 10 + start_period: 10s + networks: + - sport-era-dev + volumes: admin-node-modules: uniapp-node-modules: diff --git a/docs/业务进度管理.md b/docs/业务进度管理.md index 3360e9b..dddfa7a 100644 --- a/docs/业务进度管理.md +++ b/docs/业务进度管理.md @@ -19,7 +19,9 @@ 完成内容: - 新增 `docker/docker-compose.dev.yml`,用于并行启动 server、admin 与 uniapp H5 开发服务。 -- 该编排不声明 MySQL 或 Redis 容器;server 直接挂载并使用现有 `server/.env`,保留其中的远程数据库与 Redis 配置,不写入或覆盖连接信息。 +- 编排包含 MySQL 8.2 与 Redis 7.4 服务,数据分别绑定持久化到根目录下的 `docker/data/mysql` 和 `docker/data/redis`,删除容器不会删除宿主机数据。 +- 本地默认端口为 MySQL `3307`、Redis `6379`,均可通过 Compose 环境变量覆盖。 +- server 继续挂载并使用现有 `server/.env`,不写入或覆盖其中的数据库与 Redis 连接信息;本地 MySQL/Redis 可供后续按需切换或独立调试。 - server 通过 Nginx 暴露在 `http://localhost:8000`,管理端与 H5 分别使用项目现有端口 `5176`、`5177`;H5 本地开发 API 地址同步为 `http://localhost:8000`。 - 已完成容器启动与 HTTP 访问验证,三个入口均可正常响应。 @@ -30,6 +32,7 @@ 验证说明: - 已执行 `docker compose -f docker/docker-compose.dev.yml up -d`,并核验容器状态、H5 编译日志及三个 HTTP 入口。 +- 已核验 MySQL 版本为 `8.2.0`、MySQL/Redis 健康检查通过,并验证宿主机端口可连接。 ### 89. 移动端首页设计稿还原