首页
/ JEECG-Boot项目Docker Compose部署指南

JEECG-Boot项目Docker Compose部署指南

2025-07-05 02:03:02作者:翟萌耘Ralph

概述

JEECG-Boot是一个基于Spring Boot和Vue.js的企业级快速开发平台,本文将从技术角度详细解析其Docker Compose部署方案,帮助开发者理解和使用这套容器化部署方案。

部署架构分析

该Docker Compose文件定义了一个完整的JEECG-Boot微服务架构,包含以下核心组件:

  1. MySQL数据库服务
  2. Redis缓存服务
  3. JEECG-Boot后端系统服务
  4. JEECG-Vue前端服务

这些服务通过自定义的jeecg-boot网络相互连接,形成一个完整的应用系统。

服务详解

1. MySQL数据库服务(jeecg-boot-mysql)

MySQL服务是JEECG-Boot的数据存储核心,配置要点包括:

  • 使用自定义构建的MySQL镜像(基于./jeecg-boot/db目录)
  • 设置root密码为"root"
  • 配置了UTF8MB4字符集,支持完整的Unicode字符(包括emoji)
  • 设置表名大小写不敏感(lower_case_table_names=1)
  • 调整max_allowed_packet为128MB,适合大字段存储
  • 使用caching_sha2_password认证插件,增强安全性
  • 暴露标准MySQL端口3306

2. Redis缓存服务(jeecg-boot-redis)

Redis服务提供高速缓存支持:

  • 使用官方Redis 5.0镜像
  • 暴露标准Redis端口6379
  • 配置为自动重启,确保服务高可用

3. JEECG-Boot系统服务(jeecg-boot-system)

这是JEECG-Boot的后端核心服务:

  • 基于./jeecg-boot/jeecg-module-system/jeecg-system-start目录构建
  • 依赖MySQL和Redis服务启动
  • 暴露8080端口供外部访问
  • 配置为失败时自动重启

4. JEECG-Vue前端服务(jeecg-vue)

基于Vue.js的前端服务:

  • 使用./jeecgboot-vue3目录构建
  • 依赖后端系统服务启动
  • 使用Nginx作为Web服务器
  • 暴露80端口提供Web访问

网络配置

所有服务都连接到自定义的jeecg-boot网络:

  • 网络名称为jeecg_boot
  • 使用默认的bridge驱动
  • 确保各服务间可以通过服务名相互访问

部署实践建议

  1. 环境准备

    • 确保已安装Docker和Docker Compose
    • 分配足够的内存(建议至少4GB)
  2. 启动顺序

    • 数据库和Redis服务会首先启动
    • 后端系统服务等待数据库就绪
    • 前端服务最后启动
  3. 配置调整

    • 生产环境应修改MySQL的root密码
    • 可根据需要调整各服务的资源限制
    • 端口冲突时可修改映射端口
  4. 数据持久化

    • 当前配置未包含数据卷,生产环境应添加
    • 建议为MySQL和Redis添加数据卷

常见问题排查

  1. 服务启动失败

    • 检查日志:docker logs <容器名>
    • 确认端口未被占用
    • 验证依赖服务是否正常
  2. 连接问题

    • 确保各服务在同一个网络
    • 验证服务间连通性
  3. 性能问题

    • 可调整MySQL和Redis配置参数
    • 考虑添加资源限制

总结

这套Docker Compose部署方案为JEECG-Boot提供了完整的容器化运行环境,适合开发测试环境快速部署。生产环境部署时,建议根据实际需求进行适当调整,特别是安全性和持久化方面的配置。