首页
/ Blossom项目MySQL8容器化部署指南

Blossom项目MySQL8容器化部署指南

2025-07-09 06:15:56作者:钟日瑜

概述

本文将详细介绍如何使用Docker Compose部署Blossom项目的MySQL8服务环境。Blossom是一个功能强大的编辑器项目,其后端服务需要依赖MySQL数据库。通过容器化部署可以快速搭建开发和生产环境,确保服务的一致性和可移植性。

环境准备

在开始部署前,请确保已安装以下组件:

  • Docker引擎(建议使用较新版本)
  • Docker Compose工具

核心配置解析

网络配置

networks:
  blossomnet:
    driver: bridge

这里定义了一个名为blossomnet的桥接网络,所有服务都将加入这个网络,使容器间可以通过服务名互相访问。

Blossom后端服务

services:
  blossom:
    image: jasminexzzz/blossom:latest
    container_name: blossom-backend
    volumes:
      - /d/blossom/bl/:/home/bl/

关键配置说明:

  1. 使用官方最新镜像
  2. 挂载本地目录到容器内,用于持久化存储
  3. 环境变量配置数据库连接和图片存储路径

MySQL8服务

  blmysql:
    image: mysql:8.0.31
    container_name: blossom-mysql
    volumes:
      - /d/blossom/Docker/mysql/data:/var/lib/mysql
      - /d/blossom/Docker/mysql/log:/var/log/mysql
      - /d/blossom/Docker/mysql/mysql-files/log:/var/lib/mysql-files

关键特性:

  1. 使用MySQL 8.0.31官方镜像
  2. 数据目录、日志目录持久化挂载
  3. 配置了健康检查确保服务可用性

关键配置项修改指南

必须修改的配置

  1. 数据库密码

    SPRING_DATASOURCE_PASSWORD: jasmine888
    MYSQL_ROOT_PASSWORD: jasmine888
    

    生产环境必须修改为强密码

  2. 存储路径

    volumes:
      - /d/blossom/bl/:/home/bl/
    

    根据实际环境修改挂载路径,Windows系统注意使用/c/格式

  3. 图片访问URL

    PROJECT_IAAS_BLOS_DOMAIN: http://localhost:9999/pic/
    

    需与实际访问域名一致

可选配置

  1. 时区设置

    TZ: Asia/Shanghai
    

    可根据需要调整

  2. 端口映射

    ports:
      - "9999:9999"
      - "3306:3306"
    

    如端口冲突可修改

健康检查机制

healthcheck:
  test: ["CMD", "curl", "-f", "http://localhost:9999/sys/alive"]
  interval: 30s
  timeout: 10s
  retries: 3
  start_period: 5s

后端服务配置了健康检查,确保服务完全启动后才接受请求。MySQL服务也有类似的健康检查配置。

部署流程

  1. 创建所需目录结构
  2. 修改配置文件中的关键参数
  3. 执行部署命令:
    docker-compose -f blossom-mysql8.yaml up -d
    
  4. 验证服务状态:
    docker-compose ps
    

常见问题解决

  1. 权限问题: 确保挂载目录对Docker进程有读写权限

  2. 端口冲突: 检查9999和3306端口是否被占用

  3. 启动顺序: 依赖关系确保MySQL先启动并健康后才启动后端服务

最佳实践建议

  1. 生产环境建议使用单独的数据库服务器
  2. 定期备份挂载目录中的数据
  3. 考虑使用.env文件管理敏感配置
  4. 监控容器资源使用情况

通过本文的配置,您可以快速搭建Blossom项目的完整运行环境,为后续的开发和使用奠定基础。