YApi 是比较好用的接口管理平台,通过 docker-compose 搭建记录。

准备工作

CentOS Linux release 7.9.2009 (Core)

Docker 20.10.8

搭建

1. 创建容器网络
$ docker network create --driver bridge --subnet=10.10.0.0/16 --agteway=10.10.0.1 mynet

目的是保证 mangodb 和 yapi 两个容器间可以互相通信。

# 创建工作目录并进入
$ mkdir yapi-compose && cd yapi-compose
2. 创建 mongodb-compose
$ vim mongodb-compose.yml
version: '3'
services:mongodb:image: mongo:4.4.4       # 镜像名container_name: mongodb  # 容器名volumes: # 数据挂载目录;本地目录:容器目录        - /opt/docker/mongodb:/data/db  ports:- 27017:27017  # 端口,宿主机:容器# environment:  # - COMPOSE_PROJECT_NAME=yapirestart: always# 设置默认网络
networks:default:external:name: mynet  # 创建的容器网络名# ESC => :wq ==> Enter

3. 创建 yapi-compose

$ vim yapi-compose.yml
version: '3'
services:yapi:image: jayfong/yapi:latest                  # 镜像名container_name: yapi                        # 容器名ports:- 3000:3000                               # 端口,宿主机:容器environment:- YAPI_ADMIN_ACCOUNT=admin@easou.com      # 登入账号- YAPI_ADMIN_PASSWORD=admin               # 登入密码- YAPI_CLOSE_REGISTER=true                # 关闭注册功能- YAPI_DB_SERVERNAME=mongodb              # mongodb 数据库地址- YAPI_DB_PORT=27017                      # mongodb 端口- YAPI_DB_DATABASE=yapi                   # mongodb 数据库名- YAPI_MAIL_ENABLE=false                  # 不启用邮箱- YAPI_LDAP_LOGIN_ENABLE=false            # 不启用 loap 登入- YAPI_PLUGINS=[]                         # 插件# - COMPOSE_PROJECT_NAME=yapirestart: always# 设置默认网络
networks:default:external:name: mynet

4. 构建容器

$ docker-compose -p mongodb -f mongodb-compose.yml up -d
$ docker-compose -p yapi -f yapi-compose.yml up -d

5. 访问

浏览器输入:http://{ip}:3000

最后

如果遇到问题,可以通过查看日志的方式定位到问题。

$ docker logs -f {container_id}

安装时遇到的错误记录

错误 1:
MongoDB 5.0+ requires a CPU with AVX support

问题:mongo 镜像如果不指定版本,会自动下载 latest 版本(5.0+)会出现上面的报错,且容器一直是 restarting 的状态。

解决:理论安装上 5.0 以下的版本都可以,我这里使用 4.4.4 版本安装成功。

错误 2:
Error [ValidationError]: user validation failed: username: Path `username` is required.

yapi-compose.yml 文件内,账号必须为邮箱格式,我刚开始图方便设置账号为 admin,一直无法登录,查看日志后发现用户名写入 db 失败,由于没有指定 emailAddress,默认使用用户名代替,报校验失败的错误。

如果成功的话,构建后,日志内会出现如下提示:

始化管理员账号成功,账号名:"admin@easou.cn",密码:"admin"
错误 3:
$ mv mongodb-compose.yml docker-compose.yml
$ docker-compose -d up
$ mv docker-compose.yml mongodb-compose.yml$ mv yapi-compose.yml docker-compose.yml
$ docker-compose -d up
$ mv docker-compose.yml yapi-compose.yml
WARNING: Found orphan containers (name1, name2) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.

注意:刚开始我使用这种方式构建,报错后网上搜索了下,通过 -p 指定项目名称的方式解决。

后来查文档,发现 -p 通过环境变量来指定也行,理论上将 COMPOSE_PROJECT_NAME=xx 放在 conpose 文件内,应该也可以,由于服务已经部署成功,没有再测试,参数我补充在上面的 compose 文件中了,已注释。


完。

YApi - 通过 docker 搭建接口管理平台相关推荐

  1. Docker搭建测试用例管理平台Testlink

    1.TestLink的简介 Testlink是基于Web的测试用例管理系统,主要功能是测试项目管理.产品需求管理.测试用例管理.测试计划管理.测试用例的创建.管理和执行,并且还提供了统计功能. 2.部 ...

  2. yapi 权限_win10 x64下从0开始搭建YApi可视化接口管理平台

    YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只 ...

  3. Yapi 可视化接口管理平台部署文档

    一[yabi介绍] 1.1 官网 github:https://github.com/ymfe/yapi Yapi 可视化接口管理平台 Yapi 是高效.易用.功能强大的 api 管理平台,旨在为开发 ...

  4. 可视化接口管理平台 YApi,让你轻松搞定 API 的管理问题

    随着开发的推进,各种各样的文档会接踵而来,比如:需求文档.架构文档.接口文档等等,我们通过 SVN.Git 等可以很方便的管理,面对需求的不断变化,我们需要不断的对各类文档进行维护.但在开发阶段,针对 ...

  5. 推荐的接口管理平台-yapi

    最近在找好用的接口管理平台,为项目的接口做统一管理.最终选择了 YApi 这个开源项目. github地址:https://github.com/ymfe/yapi: 项目需要nodejs,mongo ...

  6. yapi 接口管理平台手册

    文章目录 前言 背景.现状.意义 mock测试 yapi 基于项目的管理 API接口管理 mock 服务器 使用 服务端使用路径 客户端使用路径 参考资料 前言 ​ 本篇旨在让相关开发人员理解引入 y ...

  7. YApi接口管理平台远程代码执行漏洞(含批量POC)

    0x00简介 YAPI是由去哪儿网移动架构组(简称YMFE,一群由FE.iOS和Android工程师共同组成的最具想象力.创造力和影响力的大前端团队)开发的可视化接口管理工具,是一个可本地部署的.打通 ...

  8. BAT都在使用的开源接口管理平台,你用了吗?

    作者:Anoyi 原文:https://www.jianshu.com/p/a97d2efb23c5 介绍 给大家推荐一个开源接口管理平台YApi,众多互联网大厂都在使用 YApi 的一些客户:百度, ...

  9. 【译文】用Spring Cloud和Docker搭建微服务平台

    by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...

最新文章

  1. flume写入mysql_Flume高级之自定义MySQLSource
  2. 【我眼中的戴尔转型】 (二) 厚积薄发,戴尔扩大战线迎头追击IBM HP
  3. vue组件库(二):基于verdaccio工具npm私服搭建
  4. python导入urllib request_Python 3.3 - urllib.request - 导入错误
  5. matplotlib绘图_使用matplotlib库绘图
  6. python 列表索引位置,python – 在列表中查找值的第一个位置
  7. TypeError: 'RGB' has type str, but expected one of: bytes(法1)
  8. tvpvar模型的建模步骤_这种思路讲解数据仓库建模,你见过吗?数据人与架构师必看...
  9. 【 HDU1081 】 To The Max (最大子矩阵和)
  10. 微信安装包11年膨胀575倍,UP主:“98%的文件是垃圾”;苹果应用商店被曝大量色情App;四大科技巨头呼吁废除闰秒|极客头条
  11. Java音频格式转换,支持amr、aud、slk、silk转成mp3
  12. C. Inna and Dima
  13. 关于win10重新安装应用商店(Microsoft Store)的解决方案
  14. Revit二次开发入门秘籍 01如何入门
  15. 怎么解log方程_对数方程的解法
  16. 机械臂抓取学习笔记三
  17. 机器学习算法——马尔可夫链蒙特卡罗(MCMC)
  18. 启动Intel TV-x设置
  19. 乖离率背离公式_龙周刊:乖离率是什么?
  20. 使用STM8S105K4T6C 模数转换器的12通道

热门文章

  1. HDU2208唉,可爱的小朋友 (DFS)
  2. mate30pro计算机快捷键,华为mate30快捷键怎么设置
  3. 聊聊呗|红包系统支持以下三种模式
  4. 小学六年级上册计算机课计划,小学六年级科学上册教学计划
  5. 前端HTML空格转义符总结
  6. 互联网企业独特的人力资源管理
  7. 自动的vector在pushback的时候size变为0
  8. 【Nginx入门系列】第一章 手把手带你搭建Nginx服务器
  9. DASH机器人被邀请入驻苹果店,作为一家创业公司是如何做到的?
  10. 小米手机调试出现DELETE_FAILED_INTERNAL_ERROR Error while Installing APKs