使用Docker安装Yapi接口管理工具

        

简介:

        YAPI 是由去哪儿网移动架构组开发的一款可视化接口管理工具。它具有可视化管理、高效易用、功能强大等特点。它提供了便捷的接口创建、发布和维护方式,开发人员可以通过简单的操作实现接口管理。

        YAPI 还支持类似 postman 的接口调试,对测试同学友好,同时支持自动化测试和 response 断言。它是免费开源的,可在内网部署,保证信息安全,并且能将接口作为公共可视化方式打通前后端及 QA,整合在一块共同使用维护,提高接口维护成本。

        YAPI 为开发、产品和测试人员提供了一个高效的接口管理平台,能极大提升工作效率。本文将介绍如何使用Docker来安装Yapi接口管理工具,希望能给大家带来一定的帮助。

关于Docker的安装和使用可以参考以下文章,本文不做详细介绍:

Docker在Windows与CentOS上的安装

Docker常用命令

一、下载MongoDB镜像

docker pull mongo:4.2.21

等待镜像下载,会有点慢,耐心等待....

下载完成后,查看镜像

二、启动MongoDB容器

docker run -d \
  --name mongodb \
  --restart always \
  -p 27017:27017 \
  -v /data/mongo:/data/db \
  -e MONGO_INITDB_DATABASE=yapi \
  -e MONGO_INITDB_ROOT_USERNAME=yapiuser \
  -e MONGO_INITDB_ROOT_PASSWORD=yapi2024 \
  mongo:4.2.21

命令解释:

-d:以守护进程模式在后台运行。

--name mongodb:指定容器名称为“mongodb”。

--restart always:设置容器总是自动重启。

-p 27017:27017:将主机的 27017 端口映射到容器的 27017 端口。

-v /data/mongo:/data/db:将主机的/data/mongo目录挂载到容器的/data/db目录。

-e MONGO_INITDB_DATABASE=yapi:设置环境变量MONGO_INITDB_DATABASE的值为“yapi”。

-e MONGO_INITDB_ROOT_USERNAME=yapiuser:设置环境变量MONGO_INITDB_ROOT_USERNAME的值为“yapiuser”。

-e MONGO_INITDB_ROOT_PASSWORD=yapi2024:设置环境变量MONGO_INITDB_ROOT_PASSWORD的值为“yapi2024”。

mongo:4.2.21:指定要运行的 Docker 镜像为“mongo:4.2.21”。

执行完成后如下图:

查看容器启动状态:

设置Docker启动时启动MongoDB数据库。

docker update mongodb --restart=always

此时进入容器,连接MongoDB数据库,创建yapi库,并且创建给yapi使用的账号和密码,授予可操作的权限。

进入docker容器

docker exec -it mongodb /bin/bash

在容器内连接MongoDB数据库

mongo 127.0.0.1:27017

初始化数据库

use admin;
db.auth("yapiuser", "yapi2024");

创建yapi库

use yapi;

创建yapi使用的账密,授予权限

db.createUser({
  user: 'yapi',
  pwd: 'yapi123456',
  roles: [
 { role: "dbAdmin", db: "yapi" },
 { role: "readWrite", db: "yapi" }
  ]
});

然后退出mongo客户端与容器即可。

命令执行如图:

三、测试MongoDB连通性

使用支持MongoDB数据库的客户端进行连接验证,此处我用的是navicat。

此时,MongoDB数据库创建完成,后续找时间会给大家分享如何使用MongoDB....

四、下载Yapi镜像

docker pull jayfong/yapi:latest

等待镜像下载,下载完成后查看镜像

五、启动Yapi容器

启动之前先创建配置文件config.json

mkdir /data/yapi
vim /data/yapi/config.json

在config.json中写入如下内容:

{
   "port": "3000",
   "adminAccount": "yapiadmin@163.com",
   "timeout":120000,
   "db": {
     "servername": "mongo",
     "DATABASE": "yapi",
     "port": 27017,
     "user": "yapi",
     "pass": "yapi123456",
     "authSource": ""
   },
   "mail": {
     "enable": false
   }
 }

 初始化数据库表,执行下面命令

docker run -d --rm \
  --name yapi-init \
  --link mongodb:mongo \
  -v /data/yapi/config.json:/yapi/config.json \
   jayfong/yapi:latest \
  server/install.js

命令执行后如下: 

启动容器,执行以下命令:

docker run -d \
   --name yapi \
   --link mongodb:mongo \
   --restart always \
   -p 3000:3000 \
   -v /data/yapi/config.json:/yapi/config.json \
   jayfong/yapi:latest

命令解释:

docker run -d:以守护进程模式运行容器。

--name yapi:为容器指定名称为“yapi”。

--link mongodb:mongo:建立与名为“mongodb”的容器的链接,并在容器内将其映射为“mongo”。

--restart always:设置容器在退出后总是自动重启。

-p 3000:3000:将主机的 3000 端口映射到容器的 3000 端口。

-v /data/yapi/config.json:/yapi/config.json:将主机的/data/yapi/config.json文件挂载到容器的/yapi/config.json位置。

jayfong/yapi:latest:指定要运行的 Docker 镜像为“jayfong/yapi:latest”。

执行命令后:

查看容器启动状态

设置Docker启动时启动Yapi。

docker update yapi --restart=always

查看容器日志,获取初始用户名密码

docker logs -f yapi

日志内容如下: 

六、访问Yapi

打开浏览器,访问:http://你的ip地址:3000

点击“登录/注册”按钮,跳转到Yapi登录页面。

输入账号:yapiadmin@163.com

输入密码:ymfe.org

点击“登录”按钮后,登录成功。

大功告成!!接下来就按照需要去创建项目吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/605378.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

06-数组

1. 为什么需要数组 一个养鸡场有6只鸡,它们的体重分别是3kg,4kg,1kg,2kg,6kg,3kg。 没有数组,就需要定义六个变量,一个变量代表一只鸡的体重。 使用数组,就可以定义一…

TypeScript学习日志-第二十三天(装饰器Decorator)

装饰器Decorator 一、类装饰器 ClassDecorator 其中返回的 target 是 Http 的构造函数,有了构造函数就不会去破坏其自身原有的结构,当我们 Http 里面有多个属性或者方法的,当是我们不想看或者改变它,这时候可以在构造函数中增加即…

【Mybatis操作数据库】入门(一)

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MyBatis框架】 本专栏旨在分享MyBatis框架的学习笔记,如有错误定当洗耳恭听,欢迎大家在评论区交流讨论&#x1f…

59岁前TVB男拳王内地登台疑黑面 被批耍大牌

现年59岁的郭政鸿在2015年离巢TVB后转往内地发展,密密拍剧、登台及直播带货,短短几年就已经储够钱,斥资过千万买楼,成功上车做业主,可见收入丰厚。 早前郭政鸿现身顺德,在酒吧登台唱歌,有网民上…

《铁路出行更便捷:火车票预定审批系统的设计与应用》

在现代化的铁路交通管理中,火车票预定审批系统扮演着至关重要的角色。它不仅能够有效管理员工出差、培训等需要乘坐火车的行程,还能够提高审批效率,减少人力成本,确保出行安全。本文将探讨火车票预定审批系统的设计原则和应用场景…

计算机毕业设计Python+Spark知识图谱医生推荐系统 医生门诊预测系统 医生数据分析 医生可视化 医疗数据分析 医生爬虫 大数据毕业设计 机器学习

摘 要 随着我国社会经济发展水平的不断提高,人们的物质生活水平也有了很大的改善,越来越多的人不满足于当前的医疗服务质量,由于地域和空间的限制,医疗资源不平衡,无法实现全民共享。针对当今社会中存在的求医难的问题…

智能家居2 -- 实现网络控制模块

这一模块的思路和前面的语言控制模块很相似&#xff0c;差别只是调用TCP 去控制 废话少说&#xff0c;放码过来 增添/修改代码 socket_interface.c #include <pthread.h>#include "socket_interface.h" #include "control.h" #include "socke…

【教程】超简单!如何将“在VSCode中打开”添加到右键菜单中

按照以下步骤进行操作&#xff1a; 打开注册表编辑器&#xff1a; 按下 Win R 组合键打开运行对话框。输入 regedit 并按下 Enter 键打开注册表编辑器。 导航到适当的注册表项&#xff1a; 转到以下注册表项&#xff1a;HKEY_CLASSES_ROOT\Directory\Background\shell 创建…

26版SPSS操作教程(高级教程第十九章)

目录 前言 粉丝及官方意见说明 第十九章一些学习笔记 第十九章一些操作方法 树模型、随机森林与最近邻元素法 树模型 数据准备 具体操作 结果解释 对案例的进一步分析 结果解释 考虑应用模型时的成本与收益 保存新数据 在选项中看错误分类成本和利润 结果解释…

【管理篇】如何管理情绪?

目录标题 为什么要特别关注激动和愤怒两种情绪呢&#xff1f;管理自己的情绪大致的步骤三层脑结构爬行脑情绪脑视觉脑 大家说的情绪管理&#xff0c;基本上都是对于情绪激动、生气甚至是愤怒的管理&#xff1b;日常所说的情绪化&#xff0c;一般也是指某个人特别容易情绪激动&a…

Gitlab自动化测试的配置

1. 代码分支命名规范检测 Setting → Repository → Push rules → Branch name&#xff0c;添加分支命名规范对应的正则表达式。如&#xff1a; ^(Release|Tag|Develop|Feature)_._.|Main$ 表示分支名只能以以下关键字之一开头&#xff1a;Release、Tag、Develop和Feature。 …

基于模糊控制的AMT自动变速汽车换档智能控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于模糊控制的AMT自动变速汽车换档智能控制系统simulink建模与仿真。 2.系统仿真结果 输入的V&#xff0c;Ac&#xff0c;a 输出的档位&#xff1a; 3.核心程序与模型 版…

【BST】Behavior Sequence Transformer for E-commerceRecommendation in Alibaba

一、提出背景 传统的Embedding&MLP模型结构将原始特征嵌入到低维向量中&#xff0c;然后将其concat后输入MLP进行最终推荐。DIN提出使用注意力机制来捕获候选项与用户先前点击的项之间的相似性。 然而&#xff0c;大多数这些工作只是连接不同的特征&#xff0c;而没有捕获用…

通过 Java 操作 redis -- hash 哈希表基本命令

目录 使用命令 hset&#xff0c;hget 使用命令 hexists 使用命令 hdel 使用命令 hkeys&#xff0c;hvals 使用命令 hmget&#xff0c;hmset 关于 redis hash 哈希表类型的相关命令推荐看Redis - hash 哈希表 要想通过 Java 操作 redis&#xff0c;首先要连接上 redis 服务…

AVL Cruise与Simulink联合仿真(通过MATLAB DLL方式)

最近毕业设计需要用到AVL Cruise与Simulink进行联合仿真&#xff0c;分析汽车模型的经济性。下面介绍一下我所知的AVL Cruise与Simulink联合仿真的几种方式&#xff0c;它们各自的优缺点&#xff0c;以及DLL方式联合仿真的具体配置过程。我这里用的MATLAB软件版本是2021a&#…

运行Spring Boot项目失败?显示java: 无法访问org.springframework.boot.SpringApplication,让我来看看~

idea项目运行报错截图&#xff1a; &#xff08;1&#xff09;查看错误提示“类文件具有错误的版本 61.0, 应为 52.0”&#xff0c;61.0对应的是jdk17&#xff0c;52.0对应1.8。 通过这个网址可以查询版本&#xff1a; https://stackoverflow.com/questions/9170832/list-of-ja…

Linux文本三剑客

文章目录 一、文本搜索工具--grep1、简介2、工作原理3、语法格式4、选项介绍5、实例测试5.1、-i选项5.2、-v选项5.3、-n选项5.4、-c选项5.5、-o选项5.6、-B选项5.7、-A选项5.8、-C选项5.9、-w选项5.10、-E选项5.11、-e选项 二、流编辑器--sed1、简介2、工作原理3、语法格式4、选…

AI换脸原理(6)——人脸分割介绍

一、介绍 人脸分割是计算机视觉和图像处理领域的一项重要任务,它主要涉及到将图像中的人脸区域从背景或其他非人脸区域中分离出来。这一技术具有广泛的应用场景,如人脸识别、图像编辑、虚拟背景替换等。 在计算机视觉(CV)领域,经典的分割技术可以主要划分为三类:语义分…

程序员侠李飞

李飞&#xff0c;这位程序员侠&#xff0c;肩负着消灭黑暗势力的使命。他的代码如同一把利剑&#xff0c;切割着虚拟世界中的恶意程序&#xff0c;保护着数字领域的和平。他的键盘敲击声如同战鼓的轰鸣&#xff0c;警示着那些企图侵入系统的黑客。在代码的世界里&#xff0c;他…

【离散数学】集合上二元关系性质判定的实现(c语言实现)

实验要求 关系矩阵的初始化和打印 我们将关系矩阵存入一个二维数组中&#xff0c;因为集合元素个数不会超过5个所以就用一个5行5列二维数组来表示。 在我们得到了集合元素个数之后我们就可以对数组进行0,1随机赋值 //初始关系矩阵 void init_matrix(int array[][5], int n) {…
最新文章