docker中部署开源的接口管理工具doclever

火车叨位去

准备环境

  1. doclever

    开源的接口管理工具。

    支持从swaggerUI/postman导入接口。

    部署在公网上也可以访问本地接口。

    更多功能可以从doclever官网doclever github了解。

  1. docker

    安装

    1. Ubuntu / Debian

      卸载旧版本

      $ sudo apt-get purge docker docker-engine docker.io

      安装新版本

      $ sudo apt-get update
      $ sudo apt-get install apt-transport-https \
                              ca-certificates \
                              curl \
                              gnupg-agent \
                              software-properties-common

      添加软件源 GPG 密钥

      # 国内源
      $ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
      
      # 官方源
      # $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

      在 APT sources.list 中添加Docker源

      # 在添加前可以先备份sources.list
      $ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
      
      # 国内源
      $ sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
      
      # 官方源
      # $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs)          stable"

      安装docker

      $ sudo apt-get update
      $ sudo apt-get install docker-ce docker-ce-cli containerd.io

      启动docker

      $ sudo systemctl enable docker
      $ sudo systemctl start docker

      测试docker

      # 默认情况下只支持root和docker组的用户,但一般linux不直接使用root,所以要创建docker组
      $ sudo groupadd docker
      # 将当前用户添加到docker组
      $ sudo usermod -aG docker $USER
      # 退出终端,重新登录
      $ exit
      
      # 重启终端后
      $ docker ps
      CONTAINER ID    IMAGE    COMMAND        CREATED        STATUS        PORTS    NAMES
      # 测试成功

      安装完成

    2. CentOS

      待补充,参考CentOS安装步骤
    3. macOS

      待补充,参考macOS安装步骤
    4. Windows10

      直接官网下载安装 Docker Desktop,注意查看win10版本说明,家庭版需要升级2004补丁
  2. docker-compose

    compse是docker官方的开源项目。

    通过.yaml格式的文件来定义一组相关的容器为一个项目

    1. linux环境

      # 安装
      $ sudo curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
      
      # 为docker-compose添加可执行权限
      $ sudo chmod +x /usr/local/bin/docker-compose
      
      # 卸载
      # $ sudo rm /usr/local/bin/docker-compose
    2. window10和mac

      Docker Desktop for Mac/Windows 自带 docker-compose

      # 检查docker-compose是否安装
      $ docker-compose --version

获取镜像

  1. docker hub上搜索 lw96/docleverMongo ,拉取镜像

    $ docker pull lw96/doclever
    $ docker pull mongo

    如果网络原因下载失败,可配置docker国内镜像源:阿里云

  2. 配置docker-compose.yml文件

     $ vim docker-compose.yml
     1 version: "2"
     2 services:
     3   DOClever:
     4     image: lw96/doclever #使用的镜像名称
     5     restart: always
     6     container_name: "DOClever" #容器名称
     7     ports:
     8     - 10000:10000 #端口映射 物理机端口:容器端口
     9     volumes: #挂载,数据持久化 物理机路径:容器路径
     10     - /home/ubuntu/DOClever/data/file:/root/DOClever/data/file
     11     - /home/ubuntu/DOClever/data/img:/root/DOClever/data/img
     12     - /home/ubuntu/DOClever/data/tmp:/root/DOClever/data/tmp
     13     environment: #环境变量
     14     - DB_HOST=mongodb://mongo:27017/DOClever
     15     - PORT=10000 #指定一个doclever端口
     16     links: 
     17     - mongo:mongo
     18 
     19   mongo:
     20     image: mongo:latest
     21     restart: always
     22     container_name: "mongodb"
     23     volumes:
     24     - /home/mongo/data/db:/data/db
    ~                                            

    配置好后,保存文件,运行docker-compose

    $ docker-compose up -d

    -d:后台运行,控制台不输出日志

    可以通过:

    $ docker ps

    查看容器的运行情况

    image

    运行成功后,访问物理机ip:10000看看吧

    image


使用

  1. 后台配置

    1. 点击右上角登录

      image

    2. 选择管理总后台

      image

      账号密码都是DOClever(初始)

    3. 在总后台中配置人员信息,然后使用配置的账号登录第一步的管理后台

      image

    4. 新增一个项目,进入项目,新建一个测试接口

      image

    5. 保存后点击运行,填写BaseUrl(可以在项目设置中配置,用于区分不同环境),点击运行,查看运行结果

      image

      这是一个最简单的不带参数的GET请求,测试接口由nodejs程序提供。到目前为止,基本上用过postman的大佬都知道怎么配接口,不同的因为开源的软件,可线下部署,多人协作,以及本地代理MockServer

    6. 本地代理

      1. 刚刚我演示的测试接口,接口服务在我自己电脑上

        image

        但是我的doclever运行在腾讯云的服务器上,如何让公网上的doclever调试我们本地的接口?

      2. 下载doclever提供的net.js文件

        image

        在刚刚运行接口的界面,鼠标指向这里,可以找到net.js下载地址,前提运行接口的机器上需要安装node。

      3. 运行net.js

        $ node net.js
      4. 开启代理

        image

        在我们头像的位置,打开Proxy开关,就可以正常访问我们本机的接口了。

    7. MockServer

      1. MockServer是干啥的

        日常工作中,前后端之间工作进度不可能完全一致,有可能导致前端比后端开发快,然后就干坐着等接口,MockServer允许对接口转发。通俗来说,对于开发完成的接口,我们可以访问正常的接口,返回的是正常接口的数据;对于开发未完成的接口,可以访问到MockServer地址,返回Mock数据。刚刚在配置接口的时候,就有一个选项是选择接口开发状态 ↓

        image

      2. 配置MockServer

        image

        image

        net.js就是刚刚配置本地代理的那个。

      3. 运行net.js

        按照官网说明,运行命令

        image

        乱码了,但意思是正在监听36742端口

        前面的地址是MockServer,后面的是真实的接口地址

      4. 测试MockServer

        刚刚我们测试的一个node接口服务是这样的:

        image

        现在我们在BaseUrl里将3000端口改成36742,然后配置Result:

        image

        配置完成后,将接口状态改成"开发中",保存,运行!

        image

        这里的接口返回的数据,已经变成mock数据了。

        当后端开发完接口,将接口状态改成"开发完成"后:

        image

        又会从真正的接口中获取数据了。

    8. 更多的功能及使用请参考官方文档

参考

  1. doclever官网
  2. Docker — 从入门到实践
阅读 1k

翻译翻译,什么是bug

7 声望
4 粉丝
0 条评论
你知道吗?

翻译翻译,什么是bug

7 声望
4 粉丝
宣传栏