docker-compose搭建doclever本地Mock服务

2,209 阅读2分钟

最近在使用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也进行了配置,导致不能访问。

所以这边只需放行配置外网端口\color{red}{只需放行配置外网端口}

# 防火墙放行端口
firewall-cmd --add-port=10040/tcp --zone=public --permanent
# 重启
firewall-cmd --reload
# 查看放行列表
firewall-cmd --list-all