mirror of
https://gitcode.com/ageerle/ruoyi-ai.git
synced 2026-04-14 12:23:39 +00:00
feat(docs): 更新docker教程
This commit is contained in:
BIN
docs/RuoYi-AI 后端服务镜像拉取与部署教程.docx
Normal file
BIN
docs/RuoYi-AI 后端服务镜像拉取与部署教程.docx
Normal file
Binary file not shown.
222
docs/RuoYi-AI 后端部署教程(Docker 部署版).md
Normal file
222
docs/RuoYi-AI 后端部署教程(Docker 部署版).md
Normal file
@@ -0,0 +1,222 @@
|
|||||||
|
## RuoYi-AI 后端部署教程(Docker 部署版)
|
||||||
|
|
||||||
|
### 一、前置条件
|
||||||
|
|
||||||
|
在部署前,请确保系统已满足以下条件:
|
||||||
|
|
||||||
|
#### ✅ 系统环境要求
|
||||||
|
|
||||||
|
- 操作系统:Linux / MacOS(推荐 Linux 服务器)
|
||||||
|
- CPU:4 核以上
|
||||||
|
- 内存:≥ 4GB
|
||||||
|
- 磁盘空间:≥ 10GB(建议 20GB+)
|
||||||
|
|
||||||
|
#### ✅ 已安装软件
|
||||||
|
|
||||||
|
- **Docker**
|
||||||
|
- **Docker Compose**
|
||||||
|
|
||||||
|
验证命令是否可用:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker -v
|
||||||
|
docker compose version
|
||||||
|
```
|
||||||
|
|
||||||
|
若无输出或提示“command not found”,请先安装 Docker 及 Compose。
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
### 二、目录结构配置
|
||||||
|
|
||||||
|
#### 1️⃣ 创建部署目录
|
||||||
|
|
||||||
|
在目标服务器执行以下命令:
|
||||||
|
|
||||||
|
```
|
||||||
|
# 第一级目录
|
||||||
|
mkdir /ruoyi-ai
|
||||||
|
cd /ruoyi-ai
|
||||||
|
|
||||||
|
# 第二级目录
|
||||||
|
mkdir deploy
|
||||||
|
cd deploy
|
||||||
|
|
||||||
|
# 第三级目录
|
||||||
|
mkdir data mysql-init
|
||||||
|
|
||||||
|
# 第四级目录
|
||||||
|
mkdir logs minio minio-config mysql redis weaviate
|
||||||
|
```
|
||||||
|
|
||||||
|
> 💡 `data` 目录用于挂载容器运行期间生成的数据文件。
|
||||||
|
|
||||||
|
最终目录结构示例:
|
||||||
|
|
||||||
|
```
|
||||||
|
/ruoyi-ai
|
||||||
|
└── deploy
|
||||||
|
├── data/
|
||||||
|
├── mysql-init/
|
||||||
|
├── logs/
|
||||||
|
├── minio/
|
||||||
|
├── minio-config/
|
||||||
|
├── mysql/
|
||||||
|
├── redis/
|
||||||
|
├── weaviate/
|
||||||
|
```
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
### 三、上传配置文件
|
||||||
|
|
||||||
|
将以下配置文件上传到 `/ruoyi-ai/deploy` 目录:
|
||||||
|
|
||||||
|
- `docker-compose.yaml`
|
||||||
|
- `.env`
|
||||||
|
- `ruoyi-ai.sql`
|
||||||
|
- `Dockerfile`
|
||||||
|
|
||||||
|
> 📂 这些文件在项目目录 `/script/deploy/deploy` 下。
|
||||||
|
> 上传后请检查文件路径是否与上方目录结构一致。
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
### 四、构建 Jar 包
|
||||||
|
|
||||||
|
1. 打开 IDEA 或其他构建工具
|
||||||
|
2. 选择 **Maven 构建配置**,勾选 `prod` 环境,取消 `dev` 环境
|
||||||
|
3. 点击 `package` 进行打包
|
||||||
|
4. **注意:** 在构建前请将 `application-prod.yml` 拖入
|
||||||
|
`ruoyi-admin/src/main/resources` 目录中
|
||||||
|
|
||||||
|
构建完成后会在:
|
||||||
|
|
||||||
|
```
|
||||||
|
ruoyi-admin/target/ruoyi-admin.jar
|
||||||
|
```
|
||||||
|
|
||||||
|
生成打包文件。
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
### 五、上传 Jar 包至服务器
|
||||||
|
|
||||||
|
将生成的 `ruoyi-admin.jar` 上传到服务器 `/ruoyi-ai/deploy` 目录下。
|
||||||
|
确保与 `Dockerfile` 同目录。
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
### 六、构建 Docker 镜像
|
||||||
|
|
||||||
|
`Dockerfile` 内容如下:
|
||||||
|
|
||||||
|
```
|
||||||
|
FROM openjdk:17-jdk
|
||||||
|
|
||||||
|
RUN mkdir -p /ruoyi/server/logs \
|
||||||
|
/ruoyi/server/temp
|
||||||
|
|
||||||
|
WORKDIR /ruoyi/server
|
||||||
|
COPY ruoyi-admin.jar ruoyi-admin.jar
|
||||||
|
|
||||||
|
ENTRYPOINT ["java","-jar","ruoyi-admin.jar"]
|
||||||
|
```
|
||||||
|
|
||||||
|
在 `/ruoyi-ai/deploy` 目录执行以下命令:
|
||||||
|
|
||||||
|
```
|
||||||
|
# 构建镜像
|
||||||
|
docker build -t ruoyi-ai-backend:v20251013 .
|
||||||
|
|
||||||
|
# 查看镜像是否构建成功
|
||||||
|
docker image ls
|
||||||
|
```
|
||||||
|
|
||||||
|
然后在 `docker-compose.yaml` 文件中,将对应服务的镜像名修改为:
|
||||||
|
|
||||||
|
```
|
||||||
|
image: ruoyi-ai-backend:v20251013
|
||||||
|
```
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
### 七、启动容器服务
|
||||||
|
|
||||||
|
在启动前请确认:
|
||||||
|
|
||||||
|
- `.env` 中端口号、数据库密码、环境变量已正确配置
|
||||||
|
- `docker-compose.yaml` 中 MySQL 的端口已开放(用于导入数据)
|
||||||
|
|
||||||
|
如示例:
|
||||||
|
|
||||||
|
```
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 启动命令:
|
||||||
|
|
||||||
|
```
|
||||||
|
cd /ruoyi-ai/deploy
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 查看运行状态:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker compose ps
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 查看日志:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker logs -f <容器名称>
|
||||||
|
```
|
||||||
|
|
||||||
|
> ⚠️ 初次启动时可仅运行 `ruoyi-admin`(后端)模块,将前端 `ruoyi-web` 服务暂时注释,确认后端服务正常后再启用前端容器。
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
### 八、数据库初始化
|
||||||
|
|
||||||
|
启动 MySQL 容器后,执行以下操作:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker exec -it <mysql_container_name> bash
|
||||||
|
mysql -uroot -p
|
||||||
|
source /docker-entrypoint-initdb.d/ruoyi-ai.sql;
|
||||||
|
```
|
||||||
|
|
||||||
|
或手动在客户端中导入 `/ruoyi-ai/deploy/ruoyi-ai.sql` 文件。
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
### 九、常用 Docker 命令
|
||||||
|
|
||||||
|
| 功能 | 命令 |
|
||||||
|
| ----------------- | --------------------------------- |
|
||||||
|
| 查看容器状态 | `docker ps -a` |
|
||||||
|
| 查看日志 | `docker logs -f <容器名>` |
|
||||||
|
| 停止服务 | `docker compose down` |
|
||||||
|
| 重启服务 | `docker compose restart` |
|
||||||
|
| 重新构建镜像 | `docker compose build --no-cache` |
|
||||||
|
| 清理无用镜像/容器 | `docker system prune -a` |
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
### 🔍 十、部署验证
|
||||||
|
|
||||||
|
1. 检查容器是否全部启动成功:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker compose ps
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 访问后端接口:
|
||||||
|
|
||||||
|
```
|
||||||
|
http://<服务器IP>:<后端端口>
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 检查日志输出无异常。
|
||||||
Reference in New Issue
Block a user