OhMyForm项目Docker Compose部署指南
2025-07-10 05:35:11作者:胡唯隽
概述
OhMyForm是一个开源的在线表单构建工具,本文主要介绍如何使用Docker Compose文件来部署OhMyForm项目的后端服务环境。通过Docker容器化部署,可以大大简化环境配置过程,提高部署效率。
核心服务组件
该Docker Compose文件定义了OhMyForm项目运行所需的多个服务组件:
1. 数据库服务
文件提供了两种数据库选择方案:
MariaDB方案
- 使用官方mariadb镜像
- 数据持久化:将容器内的/var/lib/mysql映射到宿主机的./maria_data目录
- 环境变量配置:
- 设置root用户密码为root
- 创建名为ohmyform的数据库
- 端口映射:3306:3306
PostgreSQL方案
- 使用postgres:10-alpine轻量级镜像
- 数据持久化:将容器内的/var/lib/postgresql/data映射到宿主机的./pg_data目录
- 环境变量配置:
- 设置用户名为root,密码为root
- 创建名为ohmyform的数据库
- 端口映射:5432:5432
2. Redis服务
- 使用官方redis镜像
- 端口映射:6003:6379(将容器6379端口映射到宿主机6003端口)
3. 邮件服务(MailHog)
- 使用mailhog/mailhog镜像
- 提供邮件测试服务
- 端口映射:
- 6001:8025(Web界面)
- 6004:1025(SMTP服务端口)
部署说明
-
数据库选择:开发者可以根据项目需求选择MariaDB或PostgreSQL作为数据库,默认配置中两者都启用,实际使用时可以注释掉不需要的数据库服务。
-
数据持久化:所有数据库服务都配置了数据卷映射,确保容器重启后数据不会丢失。
-
端口配置:各服务端口都做了映射配置,避免端口冲突问题。
-
环境变量:数据库连接信息通过环境变量配置,便于后续应用服务连接。
使用建议
-
生产环境部署时,建议修改默认的root密码,使用更安全的密码策略。
-
可以根据实际需求调整端口映射配置,避免与宿主机已有服务冲突。
-
对于测试环境,MailHog提供的邮件测试服务非常实用,可以避免配置真实邮件服务器。
-
文件中的api服务部分被注释掉了,实际部署时需要根据项目文档构建和配置api服务。
总结
该Docker Compose文件为OhMyForm项目提供了完整的后端服务环境配置,包括数据库、缓存和邮件服务等基础设施。通过简单的docker-compose up
命令即可快速启动所有依赖服务,大大简化了开发环境的搭建过程。开发者可以根据实际需求灵活调整配置,满足不同场景下的部署需求。