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

相关推荐
毕设源码-钟学长1 分钟前
【开题答辩全过程】以 公交管理系统为例,包含答辩的问题和答案
java·eclipse
啃火龙果的兔子4 分钟前
JDK 安装配置
java·开发语言
星哥说事4 分钟前
应用程序监控:Java 与 Web 应用的实践
java·开发语言
派大鑫wink10 分钟前
【JAVA学习日志】SpringBoot 参数配置:从基础到实战,解锁灵活配置新姿势
java·spring boot·后端
程序员爱钓鱼28 分钟前
Node.js 编程实战:文件读写操作
前端·后端·node.js
xUxIAOrUIII33 分钟前
【Spring Boot】控制器Controller方法
java·spring boot·后端
Dolphin_Home36 分钟前
从理论到实战:图结构在仓库关联业务中的落地(小白→中级,附完整代码)
java·spring boot·后端·spring cloud·database·广度优先·图搜索算法
zfj32138 分钟前
go为什么设计成源码依赖,而不是二进制依赖
开发语言·后端·golang
醇氧38 分钟前
org.jetbrains.annotations的@Nullable 学习
java·开发语言·学习·intellij-idea
Java&Develop40 分钟前
Aes加密 GCM java
java·开发语言·python