Files
rlz/Docker部署说明.md

77 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 瑞来兹后端 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`。