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

相关推荐
薛家明4 小时前
C#转java的最好利器easy-query就是efcore4j sqlsugar4j freesql4j
java·orm·easy-query·sqlsugar-java
自由的疯4 小时前
Java Docker本地部署Java服务
java·后端·架构
迪捷软件4 小时前
Docker赋能SkyEye云部署:解锁嵌入式仿真测试新效率,赋能企业研发加速
架构·docker云部署
绝无仅有4 小时前
面试真实经历某商银行大厂计算机网络问题和答案总结
后端·面试·github
xrkhy4 小时前
微服务之OpenFeign 服务调用
微服务·云原生·架构
绝无仅有4 小时前
面试真实经历某商银行大厂系统,微服务,分布式问题和答案总结
后端·面试·github
fakerth4 小时前
【OpenHarmony】sensors_miscdevice小器件模块架构
架构·操作系统·openharmony
rechol4 小时前
ARM 架构核心知识笔记(整理与补充版)
arm开发·笔记·架构
IT_陈寒4 小时前
5个Java 21新特性实战技巧,让你的代码性能飙升200%!
前端·人工智能·后端