77 lines
2.2 KiB
Markdown
77 lines
2.2 KiB
Markdown
# 瑞来兹后端 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`。
|