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 IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES # 测试成功

      安装完成
    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/doclever 和 Mongo ,拉取镜像
    $ docker pull lw96/doclever $ docker pull mongo

    如果网络原因下载失败,可配置docker国内镜像源:阿里云
  2. 配置docker-compose.yml文件
    $ vim docker-compose.yml

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

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

    -d:后台运行,控制台不输出日志
    可以通过:
    $ docker ps

    查看容器的运行情况
    docker中部署开源的接口管理工具doclever
    文章图片

    运行成功后,访问物理机ip:10000看看吧
    docker中部署开源的接口管理工具doclever
    文章图片

使用
  1. 后台配置
    1. 点击右上角登录docker中部署开源的接口管理工具doclever
      文章图片

    2. 选择管理总后台docker中部署开源的接口管理工具doclever
      文章图片

      账号密码都是DOClever(初始)
    3. 在总后台中配置人员信息,然后使用配置的账号登录第一步的管理后台docker中部署开源的接口管理工具doclever
      文章图片

    4. 新增一个项目,进入项目,新建一个测试接口docker中部署开源的接口管理工具doclever
      文章图片

    5. 保存后点击运行,填写BaseUrl(可以在项目设置中配置,用于区分不同环境),点击运行,查看运行结果docker中部署开源的接口管理工具doclever
      文章图片

      这是一个最简单的不带参数的GET请求,测试接口由nodejs程序提供。到目前为止,基本上用过postman的大佬都知道怎么配接口,不同的因为开源的软件,可线下部署,多人协作,以及本地代理和MockServer
    6. 本地代理
      1. 刚刚我演示的测试接口,接口服务在我自己电脑上docker中部署开源的接口管理工具doclever
        文章图片

        但是我的doclever运行在腾讯云的服务器上,如何让公网上的doclever调试我们本地的接口?
      2. 下载doclever提供的net.js文件docker中部署开源的接口管理工具doclever
        文章图片

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

      4. 开启代理docker中部署开源的接口管理工具doclever
        文章图片

        在我们头像的位置,打开Proxy开关,就可以正常访问我们本机的接口了。
    7. MockServer
      1. MockServer是干啥的日常工作中,前后端之间工作进度不可能完全一致,有可能导致前端比后端开发快,然后就干坐着等接口,MockServer允许对接口转发。通俗来说,对于开发完成的接口,我们可以访问正常的接口,返回的是正常接口的数据;对于开发未完成的接口,可以访问到MockServer地址,返回Mock数据。刚刚在配置接口的时候,就有一个选项是选择接口开发状态 ↓
        docker中部署开源的接口管理工具doclever
        文章图片

      2. 配置MockServerdocker中部署开源的接口管理工具doclever
        文章图片

        docker中部署开源的接口管理工具doclever
        文章图片

        net.js就是刚刚配置本地代理的那个。
      3. 运行net.js按照官网说明,运行命令
        docker中部署开源的接口管理工具doclever
        文章图片

        乱码了,但意思是正在监听36742端口
        【docker中部署开源的接口管理工具doclever】前面的地址是MockServer,后面的是真实的接口地址
      4. 测试MockServer刚刚我们测试的一个node接口服务是这样的:
        docker中部署开源的接口管理工具doclever
        文章图片

        现在我们在BaseUrl里将3000端口改成36742,然后配置Result:
        docker中部署开源的接口管理工具doclever
        文章图片

        配置完成后,将接口状态改成"开发中",保存,运行!
        docker中部署开源的接口管理工具doclever
        文章图片

        这里的接口返回的数据,已经变成mock数据了。
        当后端开发完接口,将接口状态改成"开发完成"后:
        docker中部署开源的接口管理工具doclever
        文章图片

        又会从真正的接口中获取数据了。
    8. 更多的功能及使用请参考官方文档
参考
  1. doclever官网
  2. Docker — 从入门到实践

    推荐阅读