JeecgBoot项目Docker Compose部署指南
2025-07-05 02:06:33作者:韦蓉瑛
概述
本文将详细介绍如何使用Docker Compose部署JeecgBoot项目。JeecgBoot是一个基于Spring Boot的低代码开发平台,通过Docker Compose可以快速搭建包含MySQL数据库、Redis缓存和系统应用服务的完整开发环境。
环境准备
在开始部署前,请确保已安装以下软件:
- Docker引擎(建议版本18.09+)
- Docker Compose(建议版本1.24+)
服务架构解析
JeecgBoot的Docker Compose配置定义了三个核心服务和一个自定义网络:
1. MySQL数据库服务 (jeecg-boot-mysql)
MySQL是JeecgBoot的持久化存储层,配置了以下关键参数:
- 字符集配置:使用utf8mb4字符集和utf8mb4_general_ci排序规则,支持完整的Unicode字符集(包括emoji表情)
- 表名大小写:设置lower_case_table_names=1确保表名在Linux系统下不区分大小写
- 认证插件:使用caching_sha2_password作为默认认证插件,提供更安全的密码验证
- 时区设置:配置为Asia/Shanghai时区,确保时间数据正确
- 内存配置:max_allowed_packet设置为128MB,适合处理大字段数据
2. Redis缓存服务 (jeecg-boot-redis)
Redis作为JeecgBoot的缓存层,配置特点:
- 使用官方Redis 5.0镜像
- 标准6379端口映射
- 自动重启策略确保服务高可用
3. 系统应用服务 (jeecg-boot-system)
JeecgBoot的核心应用服务:
- 依赖MySQL和Redis服务
- 映射8080端口供外部访问
- 使用自定义构建镜像
- 配置为失败时自动重启
4. 自定义网络 (jeecg-boot)
创建名为jeecg_boot的桥接网络,确保各容器间可通过服务名互相访问。
部署步骤详解
-
准备配置文件 将提供的docker-compose.yml文件放置在项目根目录
-
启动服务
docker-compose up -d
-
验证服务状态
docker-compose ps
应看到三个服务状态均为"running"
-
访问应用 系统启动完成后,可通过http://localhost:8080访问JeecgBoot系统
常见问题解决
-
端口冲突问题
- 如果3306、6379或8080端口已被占用,可修改docker-compose.yml中的ports配置
- 例如将
8080:8080
改为8081:8080
-
MySQL初始化失败
- 检查MySQL日志:
docker logs jeecg-boot-mysql
- 确保没有其他MySQL容器运行
- 检查MySQL日志:
-
应用启动缓慢
- 首次启动时系统会初始化数据库,请耐心等待
- 可通过
docker logs jeecg-boot-system -f
查看启动进度
生产环境建议
对于生产环境部署,建议进行以下调整:
-
数据持久化
- 为MySQL添加volume配置,防止数据丢失
- 为Redis添加持久化配置
-
资源限制
- 为各服务配置CPU和内存限制
-
安全加固
- 修改默认密码
- 配置TLS加密通信
总结
通过Docker Compose部署JeecgBoot项目,开发者可以快速搭建完整的开发环境,避免了手动安装和配置各种依赖的麻烦。这种容器化的部署方式不仅简化了环境搭建过程,还提高了环境的一致性和可移植性,特别适合团队协作开发和持续集成场景。