从0到1掌握MeterSphere Docker部署:服务编排与依赖管理指南
你是否还在为测试平台的复杂部署流程而烦恼?是否在服务依赖管理中频繁踩坑?本文将通过Docker Compose实现MeterSphere一站式部署,让你10分钟内完成从环境准备到服务启动的全流程,轻松搞定测试平台的服务编排与依赖管理。
什么是MeterSphere
MeterSphere是一站式开源持续测试平台,为软件质量保驾护航。作为新一代的开源持续测试工具,它集成了测试管理、接口测试等核心功能,让软件测试工作更简单、更高效。
主要功能包括:
- 测试管理:从测试用例管理,到测试计划执行、缺陷管理、测试报告生成
- 接口测试:集Postman的易用与JMeter的灵活于一体,支持接口调试、定义、Mock和场景自动化
- 团队协作:采用"系统-组织-项目"分层设计理念,方便团队协作
- 插件体系:提供丰富插件,快速扩展测试能力及与DevOps流水线集成
环境准备
系统要求
部署MeterSphere前,请确保你的环境满足以下要求:
- Docker Engine 20.10.0+
- Docker Compose 2.0+
- 至少4GB RAM
- 20GB以上可用磁盘空间
安装Docker和Docker Compose
如果你还没有安装Docker和Docker Compose,可以通过以下命令快速安装:
# 安装Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 安装Docker Compose
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/v2.12.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
获取MeterSphere部署文件
克隆代码仓库
首先,克隆MeterSphere代码仓库到本地:
git clone https://gitcode.com/gh_mirrors/me/metersphere.git
cd metersphere
查看项目结构
MeterSphere项目结构清晰,主要包含以下目录:
- backend/:后端服务代码
- frontend/:前端代码
- Dockerfile:Docker构建文件
创建Docker Compose配置文件
由于项目中未直接提供docker-compose.yml文件,我们可以创建一个基础的docker-compose.yml配置来部署MeterSphere及其依赖服务:
version: '3.8'
services:
# MeterSphere主服务
metersphere:
build: .
image: metersphere/metersphere-ce-allinone
container_name: metersphere
restart: always
ports:
- "8081:8081"
volumes:
- ~/.metersphere/data:/opt/metersphere/data
environment:
- TZ=Asia/Shanghai
depends_on:
- mysql
- redis
- kafka
- minio
# MySQL数据库
mysql:
image: mysql:8.0
container_name: metersphere-mysql
restart: always
ports:
- "3306:3306"
volumes:
- ~/.metersphere/mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=Password123@mysql
- MYSQL_DATABASE=metersphere
- MYSQL_USER=metersphere
- MYSQL_PASSWORD=metersphere
- TZ=Asia/Shanghai
# Redis缓存
redis:
image: redis:6.2-alpine
container_name: metersphere-redis
restart: always
ports:
- "6379:6379"
volumes:
- ~/.metersphere/redis:/data
environment:
- TZ=Asia/Shanghai
# Kafka消息队列
kafka:
image: confluentinc/cp-kafka:7.3.0
container_name: metersphere-kafka
restart: always
ports:
- "9092:9092"
volumes:
- ~/.metersphere/kafka:/var/lib/kafka/data
environment:
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092
- KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
- TZ=Asia/Shanghai
depends_on:
- zookeeper
# Zookeeper (Kafka依赖)
zookeeper:
image: confluentinc/cp-zookeeper:7.3.0
container_name: metersphere-zookeeper
restart: always
ports:
- "2181:2181"
volumes:
- ~/.metersphere/zookeeper:/var/lib/zookeeper/data
environment:
- ZOOKEEPER_CLIENT_PORT=2181
- TZ=Asia/Shanghai
# MinIO对象存储
minio:
image: minio/minio:RELEASE.2023-03-20T20-16-18Z
container_name: metersphere-minio
restart: always
ports:
- "9000:9000"
- "9001:9001"
volumes:
- ~/.metersphere/minio:/data
environment:
- MINIO_ROOT_USER=minio
- MINIO_ROOT_PASSWORD=minio123
- TZ=Asia/Shanghai
command: server /data --console-address ":9001"
启动MeterSphere服务
使用以下命令启动所有服务:
docker-compose up -d
启动成功后,可以通过以下命令查看服务状态:
docker-compose ps
访问MeterSphere
服务启动后,通过浏览器访问以下地址打开MeterSphere:
http://localhost:8081
使用默认账号密码登录:
- 用户名: admin
- 密码: metersphere
登录后,你将看到MeterSphere的主界面,如下图所示:
服务管理与维护
查看服务日志
# 查看MeterSphere服务日志
docker-compose logs -f metersphere
# 查看MySQL日志
docker-compose logs -f mysql
停止服务
docker-compose down
备份数据
# 备份数据目录
tar -czvf metersphere_backup.tar.gz ~/.metersphere
常见问题解决
服务启动失败
如果服务启动失败,可以通过以下步骤排查:
- 检查端口是否被占用:
netstat -tuln | grep 8081
netstat -tuln | grep 3306
- 查看详细日志定位问题:
docker-compose logs --tail=100 metersphere
数据持久化
所有数据都存储在宿主机的~/.metersphere目录下,确保该目录有足够的磁盘空间。
总结
通过Docker Compose部署MeterSphere可以极大简化部署流程,实现服务的统一管理和依赖协调。本文介绍了从环境准备到服务启动的完整流程,帮助你快速搭建MeterSphere测试平台。
如果你想了解更多关于MeterSphere的使用和开发,可以参考以下资源:
希望本文能帮助你顺利部署和使用MeterSphere,让测试工作更简单高效!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




