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/
关键配置说明:
- 使用官方最新镜像
- 挂载本地目录到容器内,用于持久化存储
- 环境变量配置数据库连接和图片存储路径
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
关键特性:
- 使用MySQL 8.0.31官方镜像
- 数据目录、日志目录持久化挂载
- 配置了健康检查确保服务可用性
关键配置项修改指南
必须修改的配置
-
数据库密码:
SPRING_DATASOURCE_PASSWORD: jasmine888 MYSQL_ROOT_PASSWORD: jasmine888
生产环境必须修改为强密码
-
存储路径:
volumes: - /d/blossom/bl/:/home/bl/
根据实际环境修改挂载路径,Windows系统注意使用
/c/
格式 -
图片访问URL:
PROJECT_IAAS_BLOS_DOMAIN: http://localhost:9999/pic/
需与实际访问域名一致
可选配置
-
时区设置:
TZ: Asia/Shanghai
可根据需要调整
-
端口映射:
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服务也有类似的健康检查配置。
部署流程
- 创建所需目录结构
- 修改配置文件中的关键参数
- 执行部署命令:
docker-compose -f blossom-mysql8.yaml up -d
- 验证服务状态:
docker-compose ps
常见问题解决
-
权限问题: 确保挂载目录对Docker进程有读写权限
-
端口冲突: 检查9999和3306端口是否被占用
-
启动顺序: 依赖关系确保MySQL先启动并健康后才启动后端服务
最佳实践建议
- 生产环境建议使用单独的数据库服务器
- 定期备份挂载目录中的数据
- 考虑使用.env文件管理敏感配置
- 监控容器资源使用情况
通过本文的配置,您可以快速搭建Blossom项目的完整运行环境,为后续的开发和使用奠定基础。