万国觉醒ios版
2.3G · 2025-10-22
使用 Docker 部署 RuoYi 框架的 Jar 包是一个高效且标准化的方法,能够确保应用在不同环境中的一致性。以下是详细的步骤指南,帮助你在本地或生产环境中使用 Docker 部署 RuoYi 框架的 Jar 包。
确保你的系统上已经安装了 Docker。如果尚未安装,请访问 Docker 官网 下载并安装适合你操作系统的 Docker 版本。
使用 Git 克隆 RuoYi 项目的最新版本:
git clone https://gitee.com/y_project/RuoYi-Vue.git
进入项目目录:
cd RuoYi-Vue
编辑 ruoyi-admin/src/main/resources/application-druid.yml
文件,修改 MySQL 的连接配置:
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
编辑 ruoyi-admin/src/main/resources/application.yml
文件,修改 Redis 的连接配置:
spring:
redis:
host: redis
port: 6379
password: ruoyi
database: 0
在项目根目录下创建一个名为 Dockerfile
的文件,内容如下:
# 使用官方的 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"]
在项目根目录中运行 Maven 命令来构建 Jar 包:
mvn clean package -DskipTests
在项目根目录中运行以下命令来构建 Docker 镜像:
docker build -t ruoyi-app .
docker-compose.yml
文件在项目根目录中创建一个名为 docker-compose.yml
的文件,内容如下:
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:
在包含 docker-compose.yml
文件的目录中运行以下命令来启动所有服务:
docker-compose up -d
其中 -d
表示后台运行。
打开浏览器,访问 http://localhost:8080
,你应该能看到你的 RuoYi 应用程序的响应。
docker ps
docker ps -a
docker stop <container-id>
docker rm <container-id>
docker images
docker rmi <image-id>
通过环境变量可以灵活配置应用程序,避免硬编码。在 docker-compose.yml
中定义环境变量:
environment:
SPRING_PROFILES_ACTIVE: prod
使用 Docker 卷(Volume)可以实现数据的持久化,避免数据丢失。在 docker-compose.yml
中定义卷,并挂载到容器中:
volumes:
- db-data:/var/lib/mysql
- redis-data:/data
通过以上步骤,你可以在本地或生产环境中成功使用 Docker 部署 RuoYi 框架的 Jar 包。Docker 的轻量级、可移植和高效的特点使得开发者可以在任何支持 Docker 的环境中快速搭建和运行应用。希望这些步骤对你有所帮助,祝你在 Docker 学习和实践中取得成功!