Java Docker部署RuoYi框架的jar包

使用 Docker 部署 RuoYi 框架的 Jar 包是一个高效且标准化的方法,能够确保应用在不同环境中的一致性。以下是详细的步骤指南,帮助你在本地或生产环境中使用 Docker 部署 RuoYi 框架的 Jar 包。

1. 准备环境

1.1 安装 Docker

确保你的系统上已经安装了 Docker。如果尚未安装,请访问 ​​Docker 官网​​ 下载并安装适合你操作系统的 Docker 版本。

1.2 克隆 RuoYi 项目

使用 Git 克隆 RuoYi 项目的最新版本:

bash 复制代码
git clone https://gitee.com/y_project/RuoYi-Vue.git

进入项目目录:

bash 复制代码
cd RuoYi-Vue

2. 修改配置文件

2.1 修改 MySQL 配置

编辑 ​​ruoyi-admin/src/main/resources/application-druid.yml​​ 文件,修改 MySQL 的连接配置:

yaml 复制代码
spring:
  datasource:
    druid:
      url: jdbc:mysql://mysql:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
      username: ruoyi
      password: ruoyi

2.2 修改 Redis 配置

编辑 ​​ruoyi-admin/src/main/resources/application.yml​​ 文件,修改 Redis 的连接配置:

yaml 复制代码
spring:
  redis:
    host: redis
    port: 6379
    password: ruoyi
    database: 0

3. 编写 Dockerfile

在项目根目录下创建一个名为 ​​Dockerfile​​ 的文件,内容如下:

bash 复制代码
# 使用官方的 OpenJDK 镜像作为基础镜像
FROM openjdk:11-jre-slim

# 设置工作目录
WORKDIR /app

# 将 Jar 包复制到容器中
COPY target/ruoyi-admin.jar /app/ruoyi-admin.jar

# 暴露应用程序端口
EXPOSE 8080

# 启动应用程序
ENTRYPOINT ["java", "-jar", "/app/ruoyi-admin.jar"]

4. 构建 Java 项目

4.1 构建 Jar 包

在项目根目录中运行 Maven 命令来构建 Jar 包:

go 复制代码
mvn clean package -DskipTests

4.2 构建 Docker 镜像

在项目根目录中运行以下命令来构建 Docker 镜像:

erlang 复制代码
docker build -t ruoyi-app .

5. 配置 Docker Compose

5.1 创建 ​​docker-compose.yml​​ 文件

在项目根目录中创建一个名为 ​​docker-compose.yml​​ 的文件,内容如下:

yaml 复制代码
version: '3.8'
services:
  app:
    image: ruoyi-app
    ports:
      - "8080:8080"
    depends_on:
      - db
      - redis
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
      SPRING_DATASOURCE_USERNAME: ruoyi
      SPRING_DATASOURCE_PASSWORD: ruoyi
      SPRING_REDIS_HOST: redis
      SPRING_REDIS_PORT: 6379
      SPRING_REDIS_PASSWORD: ruoyi
      SPRING_REDIS_DATABASE: 0

  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: ruoyi
      MYSQL_DATABASE: ry-vue
      MYSQL_USER: ruoyi
      MYSQL_PASSWORD: ruoyi
    volumes:
      - db-data:/var/lib/mysql
    ports:
      - "3306:3306"

  redis:
    image: redis:alpine
    command: redis-server --requirepass ruoyi --appendonly yes
    volumes:
      - redis-data:/data
    ports:
      - "6379:6379"

volumes:
  db-data:
  redis-data:

6. 启动 Docker Compose

在包含 ​​docker-compose.yml​​ 文件的目录中运行以下命令来启动所有服务:

复制代码
docker-compose up -d

其中 ​​-d​​ 表示后台运行。

7. 访问 RuoYi 应用

打开浏览器,访问 ​​http://localhost:8080​​,你应该能看到你的 RuoYi 应用程序的响应。

8. 管理 Docker 容器和镜像

8.1 列出所有运行的容器

复制代码
docker ps

8.2 列出所有容器(包括停止的)

css 复制代码
docker ps -a

8.3 停止容器

arduino 复制代码
docker stop <container-id>

8.4 删除容器

bash 复制代码
docker rm <container-id>

8.5 列出所有镜像

复制代码
docker images

8.6 删除镜像

arduino 复制代码
docker rmi <image-id>

9. 高级配置

9.1 使用环境变量

通过环境变量可以灵活配置应用程序,避免硬编码。在 ​​docker-compose.yml​​ 中定义环境变量:

yaml 复制代码
environment:
  SPRING_PROFILES_ACTIVE: prod

9.2 数据持久化

使用 Docker 卷(Volume)可以实现数据的持久化,避免数据丢失。在 ​​docker-compose.yml​​ 中定义卷,并挂载到容器中:

kotlin 复制代码
volumes:
  - db-data:/var/lib/mysql
  - redis-data:/data

10. 总结

通过以上步骤,你可以在本地或生产环境中成功使用 Docker 部署 RuoYi 框架的 Jar 包。Docker 的轻量级、可移植和高效的特点使得开发者可以在任何支持 Docker 的环境中快速搭建和运行应用。希望这些步骤对你有所帮助,祝你在 Docker 学习和实践中取得成功!

相关推荐
码路飞18 分钟前
GPT-5.3 Instant 终于学会好好说话了,顺手对比了下同天发布的 Gemini 3.1 Flash-Lite
java·javascript
序安InToo20 分钟前
第6课|注释与代码风格
后端·操作系统·嵌入式
xyy12321 分钟前
C#: Newtonsoft.Json 到 System.Text.Json 迁移避坑指南
后端
洋洋技术笔记23 分钟前
Spring Boot Web MVC配置详解
spring boot·后端
JxWang0524 分钟前
VS Code 配置 Markdown 环境
后端
navms27 分钟前
搞懂线程池,先把 Worker 机制啃明白
后端
JxWang0527 分钟前
离线数仓的优化及重构
后端
Nyarlathotep011328 分钟前
gin01:初探gin的启动
后端·go
JxWang0528 分钟前
安卓手机配置通用多屏协同及自动化脚本
后端
JxWang0530 分钟前
Windows Terminal 配置 oh-my-posh
后端