(转)Centos下,Docker部署Yapi接口管理平台
接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容。。。没找到原因,所以换了docker方式,这里记录下,作为一个新手,有问题欢迎指出
转自:https://www.cnblogs.com/qgc1995/p/9549896.html
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一,什么是Yapi
YApi 是由去哪儿移动架构组推出的一款开源项目,是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。
官网:https://yapi.ymfe.org/,Yapi具有以下功能特性;
权限管理
扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性可视化接口管理
基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率Mock Server
易用的 Mock Server,MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据自动化测试(这个我比较关注)
完善的接口自动化测试,保证数据的正确性,支持对 Response 断言数据导入
接口支持导入 swagger, postman, har 数据格式,方便迁移旧项目插件机制
强大的插件机制,满足各类业务需求
二,使用Docker创建Yapi容器
1,先安装docker,参考我另一篇文章,可用docker version查看docker版本
[root@localhost ~]# docker version
Client:
Version: 17.12.1-ce
API version: 1.35
Go version: go1.9.4
Git commit: 7390fc6
Built: Tue Feb 27 22:15:20 2018
OS/Arch: linux/amd64 Server:
Engine:
Version: 17.12.1-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.4
Git commit: 7390fc6
Built: Tue Feb 27 22:17:54 2018
OS/Arch: linux/amd64
Experimental: false
2,从仓库中拉取Yapi镜像,docker pull命令
[root@localhost ~]# docker pull silsuer/yapi
Using default tag: latest
latest: Pulling from silsuer/yapi
1be7f2b886e8: Pull complete
6fbc4a21b806: Pull complete
c71a6f8e1378: Pull complete
...
3,使用镜像实例并运行容器,--name是指定容器名,-dit是指后台运行容器,并返回容器id(或者-it,指在当前窗口以伪终端进入容器,这里如果只用-d,容器启动后就会马上停止),-p是指端口映射(主机端口:容器端口,27017是数据库端口,9090是yapi初始化配置端口,3000是yapi实际运行端口)
[root@localhost ~]# docker run --name yapi -dit -v /home/YApi/mongodb:/var/lib/mongodb -v /home/YApi/my-yapi:/my-yapi -p 27017:27017 -p 9090:9090 -p 3000:3000 silsuer/yapi bash
3d3a94296f11c725ff091d52acb2e2a4bdb19d55354a0725f1e8b742c0a93ce7 ---(前面红色部分是容器ID,后面的不清楚)
4,(可选)查看当前正运行的容器,docker ps
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3d3a94296f11 silsuer/yapi "bash" 25 minutes ago Up About a minute 0.0.0.0:3000->3000/tcp, 0.0.0.0:9090->9090/tcp, 0.0.0.0:27017->27017/tcp yapi
5,进入容器,有两种方式:docker attach yapi (exit退出容器后,容器停止运行)或者docker exec -it yapi bash(exit退出容器后,容器依旧运行)
[root@localhost ~]# docker attach yapi
root@3d3a94296f11:/# -------(这就是伪终端,进入容器后键入操作才显示)
三,容器中部署安装Yapi
1,启动MogoDB,Yapi部署需要数据库依赖
root@3d3a94296f11:/# service mongodb start
* Starting database mongodb [ OK ]
2,因为Yapi需要git支持,先升级git源(我们学乖点,因为如果不先安装git直接部署Yapi会出现错误)
root@3d3a94296f11:/# apt-get update
Ign:1 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB]
Get:3 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 Release [3457 B]
...
3,安装git,中途需要输入y同意安装
root@3d3a94296f11:/# apt-get install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
...
4,(可选)查看升级后的get版本
root@3d3a94296f11:/# git --version
git version 2.7.4
5,启动Yapi服务进行部署配置,有如下bash提示
root@3d3a94296f11:/# yapi server
在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip
/bin/sh: 1: xdg-open: not found ------------(这个百度了很多也不清楚原因,放它一马)
6,使用本地浏览器打开:http://0.0.0.0:9090,如下所示(我使用的是桌面环境,嘿嘿)
7,配置完成后,点击开始部署,如下
8,部署成功后,查看命令窗口,显示如下
... added 345 packages in 53.839s 依赖库安装完成,正在初始化数据库mongodb... > yapi@1.3.22 install-server /my-yapi/vendors
> node server/install.js log: mongodb load success... 初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org" 部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000 访问
9,根据上图提示,记住账户名和密码,切换到部署目录(/my-yapi/),输入: "node vendors/server/app.js" 指令。
root@3d3a94296f11:/# cd /my-yapi/
root@3d3a94296f11:/my-yapi# node vendors/server/app.js
log: the server is start at 127.0.0.1:3000
log: mongodb load success...
10,浏览器打开上面地址:http://127.0.0.1:3000,使用上面记住的账号密码就可以登录了,如下图
--------------注意1:如果还要使用容器中的命令窗口,先按ctrl+c可以结束yapi进程,再执行nohup node /my-yapi/vendors/server/app.js 2>&1 & 在后台运行yapi,如下
root@3d3a94296f11:/my-yapi# node vendors/server/app.js
log: the server is start at 127.0.0.1:3000
log: mongodb load success...
^C
root@3d3a94296f11:/my-yapi# nohup node /my-yapi/vendors/server/app.js 2>&1 &
[1] 91
root@3d3a94296f11:/my-yapi# nohup: ignoring input and appending output to 'nohup.out' root@3d3a94296f11:/my-yapi#
--------------注意2:如果想yapi后台运行并退出容器,开始是以docker exec -ti yapi bash方式进入的容器,输入exit就可以了,以docker attach方式进入的容器,按ctrl+p+q(你没看错,就是三个键同时按),出现下图所示就可以了
root@3d3a94296f11:/# read escape sequence
[root@localhost ~]#
(转)Centos下,Docker部署Yapi接口管理平台的更多相关文章
- Centos下,Docker部署Yapi接口管理平台(详细得令人发指)
接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容...没 ...
- Centos下,Docker部署Yapi接口管理平台
前言介绍 Yapi 由 YMFE 开源,旨在为开发.产品.测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建.发布.维护 API. 项目地址:https://github.com/YMFE/ya ...
- Yapi接口管理平台 本地部署 windows环境 -
YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只 ...
- 部署 YApi 接口管理服务
安装 Node curl -sL https://rpm.nodesource.com/setup_8.x | bash - yum install -y nodejs 安装 MongoDB vi / ...
- 安装YApi 接口管理平台
yum install mongodb yum install -y nodejs git clone https://gitee.com/mirrors/YApi.git 克隆项目到本地 使用命令进 ...
- YApi——手摸手,带你在Win10环境下安装YApi可视化接口管理平台
手摸手,带你在Win10环境下安装YApi可视化接口管理平台 YApi YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建 ...
- linux 上部署 YApi 可视化接口管理平台
linux 上部署 YApi 可视化接口管理平台: YApi 是一个高效.易用.功能强大的可视化接口管理平台,官方地址 : http://yapi.demo.qunar.com/ 环境要求 nodej ...
- CentOS下Docker与.netcore(四)之 三剑客之一Docker-machine+jenkins简单自动化部署
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...
- 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器
一.前言 Git是目前优秀和流行的源代码管理工具.而GitHub是一个面向开源及私有软件项目的托管云平台,但开源免费,私有收费.而公司出于商业化等目的需要搭建自己的源代码托管服务器.通过网上了解Gog ...
随机推荐
- 倒影问题(reflect:below)
这个例子灵感来源于实现一个登录框下方的倒影: .box { width: 300px; height: 200px; border: 1px solid #1f637b; -webkit-box-re ...
- Spring Boot Mybatis整合
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置. 特 ...
- mysql group by 过滤字段 只能在SELECT 后面出现,不能写其他字段 报错解决 关键字 sql_mode=only_full_group_by
1:报错 关键字 sql_mode=only_full_group_bymysql> select uuid,ip,count(*) from dbname_report.t_client_i ...
- RedisHelper帮助类
using Newtonsoft.Json; using RedLockNet.SERedis; using RedLockNet.SERedis.Configuration; using Stack ...
- Linux内核原理与分析-第二周作业
写之前回看了一遍秒速五厘米:如果
- 移动端click事件出现300ms延迟
问题分析: 双击缩放是指手在屏幕上快速点击两次,iOS自带的Safari浏览器会将网页缩放至原始比例.当用户在屏幕上单击某元素时,浏览器会先捕获此处单击,但浏览器不知道用户是要单击链接还是要双击该部分 ...
- Metasploit学习记录---Nessus安装部署
1.Nessus介绍 nessus是目前世界上最为流行的漏洞扫描器之一.她提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库.Nessus不同于传统的漏洞扫描软件,可同时在本机或远端上遥控,进行系统的 ...
- luogu P3952 时间复杂度 模拟
题目链接 luogu P3952 时间复杂度 题解 直接模拟即可 注意不要直接return 我真是naive ...... 代码 #include<map> #include<sta ...
- day13_H5_CSS_2
一.css样式引用优先级,最高的是标签中写的样式,一标签为基准,有内而外,有下到上依次应用 2.样式隐藏,插入小知识,宽度可以写百分比(如:100%就是宽度两边占满) 3.加大加粗 4.水平垂直居中 ...
- mysql学习1
1.什么是数据库? 数据的仓库,如在ATM的示例中创建了一个db目录,称其为数据库 2.安装 下载 http://dev.mysql.com/downloads/mysql/ 安装 windows: ...