diff --git a/docs/RuoYi-AI 后端服务镜像拉取与部署教程.docx b/docs/RuoYi-AI 后端服务镜像拉取与部署教程.docx new file mode 100644 index 00000000..503e6e41 Binary files /dev/null and b/docs/RuoYi-AI 后端服务镜像拉取与部署教程.docx differ diff --git a/docs/RuoYi-AI 后端部署教程(Docker 部署版).md b/docs/RuoYi-AI 后端部署教程(Docker 部署版).md new file mode 100644 index 00000000..09acee57 --- /dev/null +++ b/docs/RuoYi-AI 后端部署教程(Docker 部署版).md @@ -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 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. 检查日志输出无异常。 \ No newline at end of file