首页
/ JeecgBoot项目Docker Compose部署配置详解

JeecgBoot项目Docker Compose部署配置详解

2025-07-05 02:04:18作者:瞿蔚英Wynne

概述

JeecgBoot是一个基于Spring Boot的低代码开发平台,本文主要解析其Docker Compose部署配置文件的结构和配置项。通过Docker Compose可以快速搭建JeecgBoot项目所需的完整服务环境,包括MySQL数据库、Redis缓存和应用服务本身。

配置文件结构解析

该docker-compose.yml文件定义了三个核心服务:

  1. MySQL数据库服务(jeecg-boot-mysql)
  2. Redis缓存服务(jeecg-boot-redis)
  3. 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的自定义网络,所有服务都加入该网络,使得服务间可以通过容器名互相访问。

部署建议

  1. 硬件要求:建议宿主机至少4GB内存,2核CPU
  2. 数据持久化:生产环境应考虑添加数据卷(volumes)配置,确保数据库和Redis数据持久化
  3. 性能调优:根据实际业务量调整MySQL和Redis的资源配置
  4. 安全建议:生产环境应修改默认密码,并考虑添加SSL配置

常见问题解决方案

  1. MySQL连接问题:检查MySQL服务是否正常启动,确认root密码是否正确
  2. Redis连接超时:检查Redis服务是否正常启动,网络是否连通
  3. 应用启动失败:检查日志确认依赖服务是否可用,应用配置是否正确

通过这份Docker Compose配置,开发者可以快速搭建JeecgBoot项目的完整运行环境,大大简化了部署流程,提高了开发效率。