docker中部署开源的接口管理工具doclever
- 准备环境
- 获取镜像
- 使用
- 参考
- doclever
开源的接口管理工具。 支持从swaggerUI/postman导入接口。
部署在公网上也可以访问本地接口。
更多功能可以从doclever官网 或 doclever github了解。
- docker
安装
- 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 # 测试成功
安装完成
- CentOS
待补充,参考 CentOS安装步骤
- macOS
待补充,参考 macOS安装步骤
- Windows10
直接官网下载安装 Docker Desktop,注意查看win10版本说明,家庭版需要升级2004补丁
- Ubuntu / Debian
- docker-compose
compse是docker官方的开源项目。
通过.yaml格式的文件来定义一组相关的容器为一个项目
- 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
- window10和mac
Docker Desktop for Mac/Windows 自带 docker-compose
# 检查docker-compose是否安装 $ docker-compose --version
- linux环境
- 在docker hub上搜索 lw96/doclever 和 Mongo ,拉取镜像
$ docker pull lw96/doclever $ docker pull mongo
如果网络原因下载失败,可配置docker国内镜像源:阿里云
- 配置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
查看容器的运行情况
文章图片
运行成功后,访问物理机ip:10000看看吧
文章图片
- 后台配置
- 点击右上角登录
文章图片
- 选择管理总后台
文章图片
账号密码都是DOClever(初始)
- 在总后台中配置人员信息,然后使用配置的账号登录第一步的管理后台
文章图片
- 新增一个项目,进入项目,新建一个测试接口
文章图片
- 保存后点击运行,填写BaseUrl(可以在项目设置中配置,用于区分不同环境),点击运行,查看运行结果
文章图片
这是一个最简单的不带参数的GET请求,测试接口由nodejs程序提供。到目前为止,基本上用过postman的大佬都知道怎么配接口,不同的因为开源的软件,可线下部署,多人协作,以及本地代理和MockServer
- 本地代理
- 刚刚我演示的测试接口,接口服务在我自己电脑上
文章图片
但是我的doclever运行在腾讯云的服务器上,如何让公网上的doclever调试我们本地的接口?
- 下载doclever提供的net.js文件
文章图片
在刚刚运行接口的界面,鼠标指向这里,可以找到net.js下载地址,前提运行接口的机器上需要安装node。
- 运行net.js
$ node net.js
- 开启代理
文章图片
在我们头像的位置,打开Proxy开关,就可以正常访问我们本机的接口了。
- 刚刚我演示的测试接口,接口服务在我自己电脑上
- MockServer
- MockServer是干啥的日常工作中,前后端之间工作进度不可能完全一致,有可能导致前端比后端开发快,然后就干坐着等接口,MockServer允许对接口转发。通俗来说,对于开发完成的接口,我们可以访问正常的接口,返回的是正常接口的数据;对于开发未完成的接口,可以访问到MockServer地址,返回Mock数据。刚刚在配置接口的时候,就有一个选项是选择接口开发状态 ↓
文章图片
- 配置MockServer
文章图片
文章图片
net.js就是刚刚配置本地代理的那个。
- 运行net.js按照官网说明,运行命令
文章图片
乱码了,但意思是正在监听36742端口
【docker中部署开源的接口管理工具doclever】前面的地址是MockServer,后面的是真实的接口地址
- 测试MockServer刚刚我们测试的一个node接口服务是这样的:
文章图片
现在我们在BaseUrl里将3000端口改成36742,然后配置Result:
文章图片
配置完成后,将接口状态改成"开发中",保存,运行!
文章图片
这里的接口返回的数据,已经变成mock数据了。
当后端开发完接口,将接口状态改成"开发完成"后:
文章图片
又会从真正的接口中获取数据了。
- MockServer是干啥的日常工作中,前后端之间工作进度不可能完全一致,有可能导致前端比后端开发快,然后就干坐着等接口,MockServer允许对接口转发。通俗来说,对于开发完成的接口,我们可以访问正常的接口,返回的是正常接口的数据;对于开发未完成的接口,可以访问到MockServer地址,返回Mock数据。刚刚在配置接口的时候,就有一个选项是选择接口开发状态 ↓
- 更多的功能及使用请参考官方文档
- 点击右上角登录
- doclever官网
- Docker — 从入门到实践
推荐阅读
- 热闹中的孤独
- Docker应用:容器间通信与Mariadb数据库主从复制
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 异地恋中,逐渐适应一个人到底意味着什么()
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- “成长”读书社群招募