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

相关推荐
h***673713 小时前
SpringBoot整合easy-es
spring boot·后端·elasticsearch
叫致寒吧14 小时前
Tomcat详解
java·tomcat
ALex_zry15 小时前
Docker Compose运维技术实战分享:从安装到架构解析
运维·docker·架构
S***267519 小时前
基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
java·spring boot·后端
不爱吃糖的程序媛19 小时前
华为 CANN:昇腾 AI 的异构计算架构核心与开源生态解析
人工智能·华为·架构
马剑威(威哥爱编程)19 小时前
鸿蒙6开发视频播放器的屏幕方向适配问题
java·音视频·harmonyos
晚霞的不甘19 小时前
升腾异构计算架构 CANN 详解:从底层到应用的全栈解析
架构
JIngJaneIL19 小时前
社区互助|社区交易|基于springboot+vue的社区互助交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·社区互助
V***u45319 小时前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言
这是程序猿20 小时前
基于java的ssm框架旅游在线平台
java·开发语言·spring boot·spring·旅游·旅游在线平台