Jeecg-Boot项目Docker Compose部署指南
2025-07-05 02:04:15作者:蔡怀权
概述
Jeecg-Boot是一个基于Spring Boot的低代码开发平台,本文主要介绍如何使用Docker Compose快速部署Jeecg-Boot项目及其依赖服务。通过Docker Compose可以一键启动项目所需的所有服务,包括MySQL数据库、Redis缓存以及Jeecg-Boot系统本身。
环境准备
在开始部署前,请确保您的系统已安装以下软件:
- Docker 18.09或更高版本
- Docker Compose 1.24或更高版本
服务配置详解
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
关键配置说明:
- 使用自定义构建的MySQL镜像(基于./db目录中的Dockerfile)
- 设置root用户密码为root,并允许所有主机连接
- 配置时区为Asia/Shanghai
- 强制使用UTF8MB4字符集,支持完整的Unicode字符(包括emoji)
- 表名大小写不敏感(适合跨平台部署)
- 设置最大数据包为128MB
- 使用caching_sha2_password认证插件(MySQL 8.0默认)
2. Redis缓存服务
jeecg-boot-redis:
image: redis:5.0
ports:
- 6379:6379
restart: always
hostname: jeecg-boot-redis
container_name: jeecg-boot-redis
networks:
- jeecg-boot
关键配置说明:
- 使用官方Redis 5.0镜像
- 暴露标准Redis端口6379
- 配置自动重启策略
- 设置容器主机名和名称
3. Jeecg-Boot系统服务
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
关键配置说明:
- 从项目目录构建系统镜像
- 配置依赖服务(MySQL和Redis)
- 暴露8080端口供外部访问
- 使用on-failure重启策略(仅在非正常退出时重启)
网络配置
networks:
jeecg-boot:
name: jeecg_boot
所有服务都连接到名为jeecg_boot的自定义网络,这使得容器间可以通过服务名相互访问,同时与外部网络隔离。
部署步骤
- 确保已克隆项目代码并进入项目根目录
- 执行以下命令启动所有服务:
docker-compose up -d
- 等待所有容器启动完成(可使用
docker-compose ps
查看状态) - 访问
http://localhost:8080
即可使用Jeecg-Boot系统
常见问题解决
-
端口冲突:如果3306、6379或8080端口已被占用,可在docker-compose.yml中修改端口映射(如"3307:3306")
-
MySQL启动失败:检查./db目录是否存在且包含正确的Dockerfile
-
系统服务无法连接数据库:确保MySQL服务已完全启动(可能需要等待几秒钟)
-
时区问题:所有服务都已配置为Asia/Shanghai时区,如需修改可调整TZ环境变量
维护建议
- 定期备份MySQL数据(可通过docker exec导出或挂载数据卷)
- 监控容器资源使用情况(CPU、内存等)
- 生产环境建议修改默认密码并配置适当的安全策略
通过本文介绍的Docker Compose部署方式,您可以快速搭建Jeecg-Boot开发或测试环境,所有服务都容器化运行,便于管理和迁移。