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

JeecgBoot项目Docker Compose部署指南

2025-07-05 02:02:16作者:齐冠琰

概述

JeecgBoot是一个基于Spring Boot和Vue.js的企业级快速开发平台,采用前后端分离架构。本文将从技术角度详细解析JeecgBoot项目中的docker-compose.yml文件,帮助开发者理解其容器化部署方案。

文件结构解析

该docker-compose.yml文件采用version 2格式定义,包含四个核心服务组件:

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

服务详解

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

MySQL服务是JeecgBoot的数据存储核心,配置特点包括:

  • 构建方式:使用项目目录下的./jeecg-boot/db作为构建上下文
  • 环境变量
    • 设置root密码为root
    • 允许所有主机连接(root@%)
    • 时区设置为亚洲/上海
  • MySQL参数
    • 使用utf8mb4字符集和排序规则,支持完整Unicode字符
    • 表名大小写不敏感(lower_case_table_names=1)
    • 增大max_allowed_packet至128MB
    • 使用caching_sha2_password认证插件
  • 网络:加入jeecg-boot专用网络
  • 端口映射:3306端口对外暴露

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

Redis服务为系统提供缓存支持:

  • 镜像来源:使用阿里云镜像仓库提供的Redis 5.0
  • 基础配置
    • 6379端口对外暴露
    • 自动重启策略
    • 指定主机名和容器名
  • 网络:同样接入jeecg-boot网络

3. 后端系统服务 (jeecg-boot-system)

Spring Boot后端核心服务:

  • 构建方式:基于./jeecg-boot/jeecg-module-system/jeecg-system-start构建
  • 依赖关系:明确依赖MySQL和Redis服务
  • 网络配置:接入同一网络确保服务间通信
  • 端口映射:8080端口对外暴露
  • 重启策略:仅在失败时重启

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

Vue3前端服务:

  • 构建方式:基于./jeecgboot-vue3目录构建
  • 依赖关系:依赖后端系统服务
  • 网络配置:接入同一网络
  • 端口映射:80端口对外暴露,直接提供Web访问

网络配置

文件定义了一个名为jeecg_boot的自定义网络,所有服务都接入该网络,实现:

  • 服务间通过容器名直接通信
  • 网络隔离,提高安全性
  • 统一的网络环境配置

部署实践建议

  1. 环境准备

    • 确保Docker和Docker Compose已安装
    • 检查端口3306、6379、8080、80是否可用
  2. 启动顺序

    • 数据库和Redis服务会首先启动
    • 后端服务等待数据库就绪
    • 前端服务最后启动
  3. 自定义配置

    • 生产环境应修改MySQL root密码
    • 可调整各服务的资源限制
    • 考虑添加数据卷持久化重要数据
  4. 监控与维护

    • 使用docker-compose logs查看服务日志
    • 定期备份MySQL数据
    • 监控各服务资源使用情况

常见问题处理

  1. 端口冲突:修改ports映射中的主机端口
  2. 构建失败:检查各构建上下文目录是否存在
  3. 服务启动顺序问题:确保depends_on配置正确
  4. 中文乱码:确认MySQL字符集配置生效

通过这份docker-compose.yml文件,JeecgBoot项目实现了开箱即用的容器化部署方案,大大简化了开发环境的搭建和部署流程。理解这些配置有助于开发者根据实际需求进行定制化调整。