最近在使用Docker搭建Doclevel本地Mock服务,正好分享下,我这边用的是Doclever,也可以使用Yapi、SoapUi等。
介绍:
DOClever是一个商业化开源产品,完全免费。无论你是前端工程师,还是后端工程师,接口永远都是两者交互的桥梁,所以DOClever专为中小型团队量身打造,旨在解决接口的管理,测试与数据生成,实现真正的一体化解决方案。
开始搭建:
一、拉取镜像(可忽略,执行docker run或者docker-compose会自动拉取)
docker pull lw96/doclever
docker pull mongo
二、配置安装docker-compose
# 安装
sudo curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 给予执行权限
chmod +x /usr/local/bin/docker-compose
# 测试
docker-compose --version
三、编辑docker-compose配置文件
vi docker-compose.yml
输入以下配置:
Bash
version: "2"
services:
DOClever:
image: lw96/doclever
restart: always
container_name: "DOClever"
ports:
- 10040:10000
volumes:
- /本地路径/file:/root/DOClever/data/file
- /本地路径/img:/root/DOClever/data/img
- /本地路径/tmp:/root/DOClever/data/tmp
environment:
- DB_HOST=mongodb://mongo:27017/DOClever
- PORT=10000
links:
- mongo:mongo
mongo:
image: mongo:latest
restart: always
container_name: "mongodb"
volumes:
- /本地路径/datadir:/data/db
对上面代码的说明:
1、volumes:代表着把容器中的数据挂载到你本地路径
2、environment: 环境变量。 (1)DB_HOST:可以使用自定义数据库地址,或者使用容器中的mongodb (2)PORT:中设置的端口号10000为容器中的端口(尽量不变,只修改容器暴露的端口号,即ports下面的端口),而外部的端口可以自定义。
3、ports:容器暴露的实际端口 比如:
ports:
- 自己想设置的端口:10000
四、启动容器
在配置文件同级目录下执行:
docker-compose up -d
五、测试访问
浏览器输入 ip:端口 即可访问,后面就可以进行Doclever Mock方式开发了
PS:
这边自己遇到一个坑,配置的外网端口10040需要防火墙放行,并且服务器安全组需要配置。
但是这边最开始我把内网端口10000也进行了配置,导致不能访问。
所以这边
# 防火墙放行端口
firewall-cmd --add-port=10040/tcp --zone=public --permanent
# 重启
firewall-cmd --reload
# 查看放行列表
firewall-cmd --list-all