Files
ruoyi-ai/docs/RuoYi-AI 后端部署教程(Docker 部署版).md
2025-12-06 14:38:41 +08:00

4.1 KiB
Raw Permalink Blame History

RuoYi-AI 后端部署教程Docker 部署版)

一、前置条件

在部署前,请确保系统已满足以下条件:

系统环境要求

  • 操作系统Linux / MacOS推荐 Linux 服务器)
  • CPU4 核以上
  • 内存:≥ 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. 检查日志输出无异常。