JeecgBoot项目Docker Compose部署配置详解
2025-07-05 02:04:18作者:瞿蔚英Wynne
概述
JeecgBoot是一个基于Spring Boot的低代码开发平台,本文主要解析其Docker Compose部署配置文件的结构和配置项。通过Docker Compose可以快速搭建JeecgBoot项目所需的完整服务环境,包括MySQL数据库、Redis缓存和应用服务本身。
配置文件结构解析
该docker-compose.yml文件定义了三个核心服务:
- MySQL数据库服务(jeecg-boot-mysql)
- Redis缓存服务(jeecg-boot-redis)
- JeecgBoot应用服务(jeecg-boot-system)
1. MySQL数据库服务配置
jeecg-boot-mysql:
build:
context: ./db
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_ROOT_HOST: '%'
TZ: Asia/Shanghai
restart: always
container_name: jeecg-boot-mysql
image: jeecg-boot-mysql
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_allowed_packet=128M
--default-authentication-plugin=caching_sha2_password
ports:
- 3306:3306
networks:
- jeecg-boot
关键配置说明:
- 字符集配置:使用utf8mb4字符集,支持完整的Unicode字符,包括emoji表情
- 表名大小写:
lower_case_table_names=1
确保表名不区分大小写 - 时区设置:TZ环境变量设置为Asia/Shanghai,保证数据库使用中国时区
- 认证插件:使用MySQL 8.0默认的caching_sha2_password认证插件
- 内存分配:max_allowed_packet设置为128M,适合处理较大数据
2. Redis缓存服务配置
jeecg-boot-redis:
image: registry.cn-hangzhou.aliyuncs.com/jeecgdocker/redis:5.0
ports:
- 6379:6379
restart: always
hostname: jeecg-boot-redis
container_name: jeecg-boot-redis
networks:
- jeecg-boot
关键配置说明:
- 使用Redis 5.0版本,这是一个稳定版本
- 默认端口6379映射到宿主机
- 配置了自动重启策略,确保服务高可用
3. JeecgBoot应用服务配置
jeecg-boot-system:
build:
context: ./jeecg-module-system/jeecg-system-start
restart: on-failure
depends_on:
- jeecg-boot-mysql
- jeecg-boot-redis
container_name: jeecg-boot-system
image: jeecg-boot-system
hostname: jeecg-boot-system
ports:
- 8080:8080
networks:
- jeecg-boot
关键配置说明:
- 依赖关系:通过depends_on确保数据库和Redis服务先启动
- 构建方式:使用本地Dockerfile构建应用镜像
- 端口映射:应用默认端口8080映射到宿主机
- 重启策略:仅在失败时重启(on-failure)
网络配置
networks:
jeecg-boot:
name: jeecg_boot
创建了一个名为jeecg_boot的自定义网络,所有服务都加入该网络,使得服务间可以通过容器名互相访问。
部署建议
- 硬件要求:建议宿主机至少4GB内存,2核CPU
- 数据持久化:生产环境应考虑添加数据卷(volumes)配置,确保数据库和Redis数据持久化
- 性能调优:根据实际业务量调整MySQL和Redis的资源配置
- 安全建议:生产环境应修改默认密码,并考虑添加SSL配置
常见问题解决方案
- MySQL连接问题:检查MySQL服务是否正常启动,确认root密码是否正确
- Redis连接超时:检查Redis服务是否正常启动,网络是否连通
- 应用启动失败:检查日志确认依赖服务是否可用,应用配置是否正确
通过这份Docker Compose配置,开发者可以快速搭建JeecgBoot项目的完整运行环境,大大简化了部署流程,提高了开发效率。