JeecgBoot项目基于Docker Compose的云原生部署指南
2025-07-05 02:01:20作者:傅爽业Veleda
概述
JeecgBoot作为一款基于Spring Boot的低代码开发平台,其云原生架构版本提供了完善的微服务解决方案。本文将深入解析项目中的docker-compose-cloud.yml文件,帮助开发者理解如何通过Docker Compose快速部署JeecgBoot的云原生环境。
核心服务组件
1. MySQL数据库服务
jeecg-boot-mysql:
build:
context: ./jeecg-boot/db
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_ROOT_HOST: '%'
TZ: Asia/Shanghai
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--lower_case_table_names=1
该配置定义了一个定制化的MySQL容器,关键特性包括:
- 使用utf8mb4字符集,完美支持emoji等特殊字符
- 设置表名大小写不敏感(lower_case_table_names=1),确保跨平台兼容性
- 配置了128MB的最大数据包大小,适合处理大字段数据
- 使用caching_sha2_password认证插件,增强安全性
2. Redis缓存服务
jeecg-boot-redis:
image: registry.cn-hangzhou.aliyuncs.com/jeecgdocker/redis:5.0
ports:
- 6379:6379
采用Redis 5.0版本,提供:
- 高性能的缓存服务
- 会话管理支持
- 分布式锁实现基础
3. Nacos服务注册中心
jeecg-boot-nacos:
build:
context: ./jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos
ports:
- 8848:8848
depends_on:
- jeecg-boot-mysql
Nacos作为服务发现和配置中心:
- 依赖MySQL持久化配置数据
- 提供微服务的注册与发现能力
- 支持动态配置管理
4. 微服务核心组件
jeecg-boot-system:
build:
context: ./jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start
jeecg-boot-demo:
build:
context: ./jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start
jeecg-boot-gateway:
build:
context: ./jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway
ports:
- 9999:9999
这三个服务构成了JeecgBoot微服务架构的核心:
- 系统服务(jeecg-boot-system): 提供用户、角色、权限等基础管理功能
- 示例服务(jeecg-boot-demo): 展示微服务集成示例
- 网关服务(jeecg-boot-gateway): 基于Spring Cloud Gateway的统一入口,暴露在9999端口
5. 前端Vue服务
jeecg-vue:
build:
context: ./jeecgboot-vue3
ports:
- 80:80
基于Vue3的前端项目:
- 使用Nginx作为Web服务器
- 映射到主机的80端口
- 依赖系统服务完成初始化
网络配置
networks:
jeecg-boot:
name: jeecg_boot
创建名为jeecg_boot的Docker网络,确保所有服务在同一个网络内,可以通过服务名互相访问。
部署流程建议
-
环境准备:
- 安装Docker和Docker Compose
- 确保主机3306、6379、8848、9999和80端口未被占用
-
启动顺序:
docker-compose -f docker-compose-cloud.yml up -d jeecg-boot-mysql docker-compose -f docker-compose-cloud.yml up -d jeecg-boot-redis docker-compose -f docker-compose-cloud.yml up -d jeecg-boot-nacos # 等待Nacos完全启动后 docker-compose -f docker-compose-cloud.yml up -d
-
验证服务:
- MySQL:
docker exec -it jeecg-boot-mysql mysql -uroot -proot
- Redis:
docker exec -it jeecg-boot-redis redis-cli
- Nacos: 访问http://localhost:8848/nacos (默认账号nacos/nacos)
- 网关: 访问http://localhost:9999
- 前端: 访问http://localhost
- MySQL:
高级配置选项
文件中注释掉的部分包含了可选组件:
- RabbitMQ消息队列
- Sentinel流量控制
- XXL-JOB分布式任务调度
如需启用这些服务,只需取消对应注释并重新部署即可。
最佳实践
-
生产环境调整:
- 为MySQL和Redis配置数据卷持久化
- 调整各服务的资源限制(CPU/内存)
- 启用健康检查机制
-
性能优化:
- 根据负载调整MySQL连接池参数
- 配置Redis内存淘汰策略
- 优化Nacos集群配置
-
安全建议:
- 修改默认密码(MySQL root、Redis)
- 限制外部访问端口
- 定期备份关键数据
通过本文的详细解析,开发者可以全面理解JeecgBoot云原生版本的Docker Compose部署架构,并根据实际需求进行定制化调整。这种容器化部署方式极大简化了微服务环境的搭建过程,是快速体验JeecgBoot云原生特性的理想选择。