JPress项目开发环境Docker Compose部署指南
2025-07-10 07:29:54作者:尤峻淳Whitney
概述
本文详细解析JPress项目开发环境下的Docker Compose配置文件,帮助开发者快速搭建本地开发环境。JPress是一个基于Java开发的现代化开源CMS系统,使用Docker可以极大地简化其开发环境的搭建过程。
环境组成
该Docker Compose文件定义了两个主要服务:
- MySQL数据库服务:使用MySQL 5.6作为JPress的后端数据库
- JPress应用服务:运行JPress v2.0.8版本的应用容器
MySQL服务配置详解
db:
image: mysql:5.6
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: jpress
MYSQL_DATABASE: jpress
MYSQL_USER: jpress
MYSQL_PASSWORD: jpress
volumes:
- "./docker_volumes/mysql:/var/lib/mysql"
关键配置说明:
- 版本选择:使用MySQL 5.6版本,这是一个经过广泛验证的稳定版本
- 认证插件:指定使用原生密码认证方式,确保兼容性
- 自动重启:设置容器总是自动重启,提高服务可用性
- 环境变量:
- 设置root用户密码为"jpress"
- 创建名为"jpress"的数据库
- 创建"jpress"用户并设置相同密码
- 数据持久化:将MySQL数据目录挂载到宿主机,防止容器重启数据丢失
JPress应用服务配置详解
jpress:
depends_on:
- db
links:
- db
image: fuhai/jpress:v2.0.8
ports:
- "8080:8080"
restart: always
environment:
TZ: Asia/Shanghai
JPRESS_DB_HOST: db
JPRESS_DB_PORT: 3306
JPRESS_DB_NAME: jpress
JPRESS_DB_USER: jpress
JPRESS_DB_PASSWORD: jpress
JBOOT_APP_MODE: dev
UNDERTOW_HOTSWAPCLASSPREFIX: io.jpress
volumes:
- "./docker_volumes/webapp/attachment:/opt/jpress/webapp/attachment"
- "./docker_volumes/webapp/addons:/opt/jpress/webapp/addons"
- "./docker_volumes/webapp/WEB-INF/addons:/opt/jpress/webapp/WEB-INF/addons"
- "./docker_volumes/webapp/wp-content:/opt/jpress/webapp/wp-content"
- "./docker_volumes/webapp/templates/dockers:/opt/jpress/webapp/templates/dockers"
关键配置说明:
- 依赖关系:确保数据库服务先启动
- 网络连接:通过links与数据库容器建立连接
- 镜像版本:使用fuhai/jpress:v2.0.8官方镜像
- 端口映射:将容器8080端口映射到宿主机8080端口
- 环境变量:
- 设置时区为上海时区(Asia/Shanghai)
- 配置数据库连接参数
- 设置应用运行模式为开发模式(JBOOT_APP_MODE: dev)
- 启用热部署功能(UNDERTOW_HOTSWAPCLASSPREFIX)
- 数据卷挂载:
- 附件目录:持久化用户上传的文件
- 插件目录:保存安装的插件
- 模板目录:保存自定义模板
- WordPress兼容内容目录
开发环境特色功能
-
热部署支持:通过UNDERTOW_HOTSWAPCLASSPREFIX环境变量,开发过程中修改Java类文件可以自动热加载,无需重启容器。
-
开发模式:JBOOT_APP_MODE设置为dev,会启用更多调试信息和开发辅助功能。
-
数据持久化:所有重要数据都通过volumes挂载到宿主机,确保开发过程中产生的数据不会丢失。
部署步骤建议
- 确保已安装Docker和Docker Compose
- 创建docker_volumes目录结构
- 复制上述docker-compose-dev.yml文件
- 执行
docker-compose -f docker-compose-dev.yml up -d
- 访问http://localhost:8080完成安装向导
注意事项
- 首次启动时,MySQL容器需要一些时间初始化
- 开发模式下会输出更多日志,方便调试
- 生产环境不应使用此配置,需要调整安全参数
- 默认密码应修改为更复杂的值
通过这套配置,开发者可以快速搭建一个完整的JPress开发环境,专注于业务开发而无需关心环境配置问题。