Files
rlz/Docker部署说明.md

77 lines
2.2 KiB
Markdown
Raw Normal View History

# 瑞来兹后端 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`。