Postwoman项目Docker Compose部署指南
2025-07-05 01:08:22作者:殷蕙予
Postwoman是一个开源的API开发工具,提供了类似Postman的功能但更加轻量级。本文将详细介绍如何使用Docker Compose部署Postwoman项目的完整环境。
核心服务架构
Postwoman的Docker Compose配置定义了多个服务组件,共同构成了完整的系统:
- 后端服务(hoppscotch-backend) - 提供API接口服务
- 前端应用(hoppscotch-app) - 用户交互界面
- 自托管管理面板(hoppscotch-sh-admin) - 系统管理界面
- 数据库服务(hoppscotch-db) - PostgreSQL数据库
- 一体化服务(hoppscotch-aio) - 整合所有服务的容器
详细配置解析
后端服务配置
hoppscotch-backend:
container_name: hoppscotch-backend
build:
dockerfile: prod.Dockerfile
context: .
target: backend
env_file:
- ./.env
restart: always
environment:
- DATABASE_URL=postgresql://postgres:testpass@hoppscotch-db:5432/hoppscotch?connect_timeout=300
- PORT=8080
ports:
- "3180:80"
- "3170:3170"
关键点说明:
- 使用prod.Dockerfile构建生产环境镜像
- 通过.env文件加载环境变量
- 配置了自动重启策略确保服务高可用
- 数据库连接字符串指向内部PostgreSQL服务
- 暴露了80和3170两个端口
前端应用配置
hoppscotch-app:
container_name: hoppscotch-app
build:
dockerfile: prod.Dockerfile
context: .
target: app
env_file:
- ./.env
ports:
- "3080:80"
- "3000:3000"
特点:
- 默认运行在3000端口
- 依赖后端服务正常运行
- 同时映射了80端口便于HTTP访问
数据库服务配置
hoppscotch-db:
image: postgres:15
ports:
- "5432:5432"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: testpass
POSTGRES_DB: hoppscotch
healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}'"]
安全建议:
- 必须修改默认密码(testpass)
- 健康检查确保数据库就绪后才启动依赖服务
- 使用PostgreSQL 15官方镜像
部署实践指南
基础部署步骤
- 确保已安装Docker和Docker Compose
- 复制提供的docker-compose.yml文件
- 创建.env环境变量文件
- 执行
docker-compose up -d
启动服务
自定义配置建议
- 数据库安全:修改POSTGRES_PASSWORD为强密码
- 端口映射:根据实际环境调整端口映射
- 外部数据库:如需使用外部数据库,修改DATABASE_URL配置
- 开发模式:取消注释volumes部分实现代码热更新
高级部署选项
一体化服务(hoppscotch-aio)提供了将所有组件打包在单一容器中的方案,适合资源有限的部署场景:
hoppscotch-aio:
container_name: hoppscotch-aio
build:
dockerfile: prod.Dockerfile
context: .
target: aio
ports:
- "3000:3000"
- "3100:3100"
- "3170:3170"
- "3080:80"
注意事项
- 标记为"old"的服务是旧版实现,建议使用新版配置
- 生产环境务必修改所有默认密码
- 可根据需要调整各服务的资源限制(CPU/内存)
- 日志收集建议配置适当的日志驱动
通过本文介绍的Docker Compose配置,您可以快速部署完整的Postwoman环境,无论是用于开发测试还是生产环境。根据实际需求灵活调整配置参数,可以获得最佳的使用体验。