首页
/ JPress项目开发环境Docker Compose部署指南

JPress项目开发环境Docker Compose部署指南

2025-07-10 07:29:54作者:尤峻淳Whitney

概述

本文详细解析JPress项目开发环境下的Docker Compose配置文件,帮助开发者快速搭建本地开发环境。JPress是一个基于Java开发的现代化开源CMS系统,使用Docker可以极大地简化其开发环境的搭建过程。

环境组成

该Docker Compose文件定义了两个主要服务:

  1. MySQL数据库服务:使用MySQL 5.6作为JPress的后端数据库
  2. 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兼容内容目录

开发环境特色功能

  1. 热部署支持:通过UNDERTOW_HOTSWAPCLASSPREFIX环境变量,开发过程中修改Java类文件可以自动热加载,无需重启容器。

  2. 开发模式:JBOOT_APP_MODE设置为dev,会启用更多调试信息和开发辅助功能。

  3. 数据持久化:所有重要数据都通过volumes挂载到宿主机,确保开发过程中产生的数据不会丢失。

部署步骤建议

  1. 确保已安装Docker和Docker Compose
  2. 创建docker_volumes目录结构
  3. 复制上述docker-compose-dev.yml文件
  4. 执行docker-compose -f docker-compose-dev.yml up -d
  5. 访问http://localhost:8080完成安装向导

注意事项

  1. 首次启动时,MySQL容器需要一些时间初始化
  2. 开发模式下会输出更多日志,方便调试
  3. 生产环境不应使用此配置,需要调整安全参数
  4. 默认密码应修改为更复杂的值

通过这套配置,开发者可以快速搭建一个完整的JPress开发环境,专注于业务开发而无需关心环境配置问题。