首页
/ JeecgBoot项目Docker Compose部署指南

JeecgBoot项目Docker Compose部署指南

2025-07-05 02:06:33作者:韦蓉瑛

概述

本文将详细介绍如何使用Docker Compose部署JeecgBoot项目。JeecgBoot是一个基于Spring Boot的低代码开发平台,通过Docker Compose可以快速搭建包含MySQL数据库、Redis缓存和系统应用服务的完整开发环境。

环境准备

在开始部署前,请确保已安装以下软件:

  1. Docker引擎(建议版本18.09+)
  2. 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的桥接网络,确保各容器间可通过服务名互相访问。

部署步骤详解

  1. 准备配置文件 将提供的docker-compose.yml文件放置在项目根目录

  2. 启动服务

    docker-compose up -d
    
  3. 验证服务状态

    docker-compose ps
    

    应看到三个服务状态均为"running"

  4. 访问应用 系统启动完成后,可通过http://localhost:8080访问JeecgBoot系统

常见问题解决

  1. 端口冲突问题

    • 如果3306、6379或8080端口已被占用,可修改docker-compose.yml中的ports配置
    • 例如将8080:8080改为8081:8080
  2. MySQL初始化失败

    • 检查MySQL日志:docker logs jeecg-boot-mysql
    • 确保没有其他MySQL容器运行
  3. 应用启动缓慢

    • 首次启动时系统会初始化数据库,请耐心等待
    • 可通过docker logs jeecg-boot-system -f查看启动进度

生产环境建议

对于生产环境部署,建议进行以下调整:

  1. 数据持久化

    • 为MySQL添加volume配置,防止数据丢失
    • 为Redis添加持久化配置
  2. 资源限制

    • 为各服务配置CPU和内存限制
  3. 安全加固

    • 修改默认密码
    • 配置TLS加密通信

总结

通过Docker Compose部署JeecgBoot项目,开发者可以快速搭建完整的开发环境,避免了手动安装和配置各种依赖的麻烦。这种容器化的部署方式不仅简化了环境搭建过程,还提高了环境的一致性和可移植性,特别适合团队协作开发和持续集成场景。