3分钟上手!RuoYi极速部署:Docker容器化方案让环境配置不再头疼
你还在为RuoYi项目部署时的环境依赖发愁吗?还在因为版本冲突反复调试配置文件?本文将带你用Docker容器化技术,3步完成RuoYi权限管理系统的部署,彻底解决"在我电脑上能运行"的开发难题。
为什么选择Docker容器化部署?
传统部署方式需要手动配置JDK、MySQL、Maven等环境,不仅耗时且易出现版本兼容问题。而Docker容器化部署具有以下优势:
- 环境一致性:无论开发、测试还是生产环境,容器确保运行环境完全一致
- 隔离性:应用与系统环境隔离,避免依赖冲突
- 可移植性:一次构建,到处运行
- 快速部署:从配置到启动全程仅需5分钟
部署前准备
在开始部署前,请确保你的系统已安装:
- Docker Engine (20.10+版本)
- Docker Compose (v2.0+)
- Git
部署步骤详解
1. 获取项目源码
首先克隆RuoYi项目仓库到本地:
git clone https://link.gitcode.com/i/4e1905320cb31f23b507df413b7d31f1.git
cd RuoYi
2. 容器化部署文件解析
项目中已包含两个关键的Docker部署文件,位于项目根目录:
Dockerfile文件
Dockerfile定义了应用的构建和运行环境:
FROM openjdk:8-jdk-slim
WORKDIR /app
COPY target/ruoyi-admin.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"]
- 基于OpenJDK 8 Slim镜像构建,体积更小
- 设置工作目录为/app
- 复制构建好的jar包到容器内
- 暴露8080端口
- 定义启动命令
docker-compose.yml文件
docker-compose.yml定义了多容器应用的编排:
version: '3'
services:
ruoyi:
build: .
ports:
- "8080:8080"
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=password
depends_on:
- mysql
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=ry
volumes:
- ./sql:/docker-entrypoint-initdb.d
该配置定义了两个服务:
- ruoyi:RuoYi应用服务,依赖MySQL服务
- mysql:MySQL数据库服务,自动初始化sql/目录下的数据库脚本
3. 一键启动服务
在项目根目录执行以下命令启动服务:
# 构建并启动所有服务
docker-compose up -d
# 查看服务状态
docker-compose ps
# 查看应用日志
docker-compose logs -f ruoyi
服务启动成功后,访问 http://localhost:8080 即可打开RuoYi系统登录页面。默认管理员账号:admin,密码:admin123。
常见问题解决
1. 数据库连接失败
如果应用启动后无法连接数据库,请检查:
- MySQL服务是否正常启动:
docker-compose logs mysql - 数据库连接参数是否正确配置在docker-compose.yml中
- 防火墙是否开放3306端口
2. 应用启动缓慢
首次启动可能因下载镜像和初始化数据库较慢,请耐心等待。可通过以下命令查看进度:
# 查看MySQL初始化进度
docker-compose exec mysql tail -f /var/log/mysql/error.log
# 查看应用启动日志
docker-compose logs -f ruoyi
部署架构说明
RuoYi容器化部署架构如下:
- RuoYi应用和MySQL分别运行在独立容器中
- 通过Docker网络实现容器间通信
- 数据库初始化脚本通过数据卷挂载到MySQL容器
总结与展望
通过Docker容器化部署,我们实现了RuoYi系统的快速、一致部署。这种方式不仅简化了环境配置,还为后续的集群部署、CI/CD集成奠定了基础。
未来可以进一步优化:
- 添加Nginx容器作为反向代理
- 实现应用容器的健康检查和自动重启
- 集成监控和日志收集系统
如果觉得本文对你有帮助,别忘了点赞、收藏、关注三连哦!下期我们将介绍RuoYi系统的性能优化方案。
官方文档:若依环境使用手册
项目源码:yangzongzhuan/RuoYi
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



