JEECG-Boot项目Docker Compose部署指南
2025-07-05 02:03:02作者:翟萌耘Ralph
概述
JEECG-Boot是一个基于Spring Boot和Vue.js的企业级快速开发平台,本文将从技术角度详细解析其Docker Compose部署方案,帮助开发者理解和使用这套容器化部署方案。
部署架构分析
该Docker Compose文件定义了一个完整的JEECG-Boot微服务架构,包含以下核心组件:
- MySQL数据库服务
- Redis缓存服务
- JEECG-Boot后端系统服务
- JEECG-Vue前端服务
这些服务通过自定义的jeecg-boot
网络相互连接,形成一个完整的应用系统。
服务详解
1. MySQL数据库服务(jeecg-boot-mysql)
MySQL服务是JEECG-Boot的数据存储核心,配置要点包括:
- 使用自定义构建的MySQL镜像(基于./jeecg-boot/db目录)
- 设置root密码为"root"
- 配置了UTF8MB4字符集,支持完整的Unicode字符(包括emoji)
- 设置表名大小写不敏感(lower_case_table_names=1)
- 调整max_allowed_packet为128MB,适合大字段存储
- 使用caching_sha2_password认证插件,增强安全性
- 暴露标准MySQL端口3306
2. Redis缓存服务(jeecg-boot-redis)
Redis服务提供高速缓存支持:
- 使用官方Redis 5.0镜像
- 暴露标准Redis端口6379
- 配置为自动重启,确保服务高可用
3. JEECG-Boot系统服务(jeecg-boot-system)
这是JEECG-Boot的后端核心服务:
- 基于./jeecg-boot/jeecg-module-system/jeecg-system-start目录构建
- 依赖MySQL和Redis服务启动
- 暴露8080端口供外部访问
- 配置为失败时自动重启
4. JEECG-Vue前端服务(jeecg-vue)
基于Vue.js的前端服务:
- 使用./jeecgboot-vue3目录构建
- 依赖后端系统服务启动
- 使用Nginx作为Web服务器
- 暴露80端口提供Web访问
网络配置
所有服务都连接到自定义的jeecg-boot
网络:
- 网络名称为jeecg_boot
- 使用默认的bridge驱动
- 确保各服务间可以通过服务名相互访问
部署实践建议
-
环境准备:
- 确保已安装Docker和Docker Compose
- 分配足够的内存(建议至少4GB)
-
启动顺序:
- 数据库和Redis服务会首先启动
- 后端系统服务等待数据库就绪
- 前端服务最后启动
-
配置调整:
- 生产环境应修改MySQL的root密码
- 可根据需要调整各服务的资源限制
- 端口冲突时可修改映射端口
-
数据持久化:
- 当前配置未包含数据卷,生产环境应添加
- 建议为MySQL和Redis添加数据卷
常见问题排查
-
服务启动失败:
- 检查日志:
docker logs <容器名>
- 确认端口未被占用
- 验证依赖服务是否正常
- 检查日志:
-
连接问题:
- 确保各服务在同一个网络
- 验证服务间连通性
-
性能问题:
- 可调整MySQL和Redis配置参数
- 考虑添加资源限制
总结
这套Docker Compose部署方案为JEECG-Boot提供了完整的容器化运行环境,适合开发测试环境快速部署。生产环境部署时,建议根据实际需求进行适当调整,特别是安全性和持久化方面的配置。