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 学习和实践中取得成功!

相关推荐
前端一课8 小时前
用 TRAE Work 把项目踩坑经验沉淀成「团队可复用工程规范」,新人再也不重复掉坑
前端·后端
神奇小汤圆9 小时前
一文吃透 Spring 框架:原理、实践与面试全解析
后端
站大爷IP9 小时前
Python 的切片把我坑惨了,原来 `[:]` 是浅拷贝,而 `copy.deepcopy` 才是我的救命稻草
后端
神奇小汤圆9 小时前
Java 万字长文:从零基础到高级应用的完整教程——把面向对象讲透
后端
云烟成雨TD9 小时前
Micrometer 系列【42】链路追踪:Span 体系 | 核心 API
java·链路追踪·micrometer
孓最求完美9 小时前
实战经验:JT808/JT809 车联网高并发服务端性能优化指南
后端
shengjk19 小时前
深度拆解:从 LC-3 汇编到 Java/Rust,数组越界与硬件中断的底层真相
后端
Gorway9 小时前
理解 Spring 依赖注入:从构造器注入到集合与条件 Bean
java·后端
颜进强9 小时前
Claude Code - 26 效率三件套:cc-switch 切模型 · codeburn 算成本 · claude-hud 看状态
前端·后端·ai编程