# 瑞来兹后端 Docker 部署说明 ## 架构 | 组件 | 说明 | |------|------| | **rlz-backend** | Spring Boot 若依后台,端口 **8039**,Profile **`docker`** | | **rlz-redis** | 容器内 Redis 7,供验证码、会话、缓存 | | **MySQL** | **默认使用外部库**(如腾讯云 CynosDB),通过环境变量连接 | 上传与日志使用命名卷持久化:`rlz-upload`、`rlz-logs`。 ## 前置条件 - 已安装 Docker 与 Docker Compose V2(`docker compose`) - 云数据库 **白名单** 放行 **服务器公网出口 IP** - 安全组放行 **8039**(若需公网访问 API) ## 快速启动 ```bash cd /path/to/saars/rlz cp .env.docker.example .env # 编辑 .env:至少填写 MYSQL_PASSWORD,确认 MYSQL_HOST / MYSQL_PORT docker compose build --no-cache docker compose up -d docker compose logs -f backend ``` ## 验证 ```bash curl -sS http://127.0.0.1:8039/captchaImage | head -c 200 # 应返回 JSON,含 code、img(Base64)等 ``` ## 与前端联调 前端 `vue.config.js` 将 `/dev-api` 代理到 `http://127.0.0.1:8039`。 若前端在 **同一宿主机** 的 Docker 里使用 **host 网络**,可直接用 `8039`;否则将代理 `target` 改为 `http://宿主机IP:8039` 或 `http://rlz-backend:8039`(需把前端也纳入同一 compose 网络)。 ## 常用命令 ```bash docker compose ps docker compose restart backend docker compose down # 保留卷: docker compose down # 删卷(清空 Redis AOF、上传文件): docker compose down -v ``` ## 调整内存 编辑 `rlz/Dockerfile` 中默认 `JAVA_OPTS`,或 compose 里增加: ```yaml environment: JAVA_OPTS: "-Xms512m -Xmx1536m -XX:+UseContainerSupport" ``` ## 文件说明 | 路径 | 作用 | |------|------| | `rlz/Dockerfile` | Maven 构建 + JRE 运行镜像 | | `rlz/.dockerignore` | 减小构建上下文 | | `rlz/ruoyi-admin/src/main/resources/application-docker.yml` | Docker 专用配置(环境变量) | | `docker-compose.yml` | Redis + 后端编排 | | `.env.docker.example` | 环境变量模板 | --- **注意**:`application.yml` 中默认 `spring.profiles.active` 为 `dev`,容器内通过环境变量 **`SPRING_PROFILES_ACTIVE=docker`** 覆盖,无需改仓库里的 `application.yml`。