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

news2024/12/28 20:25:39

        

简介:

        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.coloradmin.cn/o/1655197.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS---Emmet(二)

一、Emmet语法 Emmet语法是一种用于快速编写HTML和CSS的缩写技术。它允许开发者通过简洁的表达式快速生成复杂的代码结构,极大地提高了编码效率。使用Emmet,你只需要写出一些简短的缩写符号和操作符,然后通过快捷键(通常是Tab键&…

Android 10.0 Launcher3定制folder文件夹2x2布局之一xml文件配置和解析相关属性

1.前言 在10.0的系统rom产品定制化开发中,在对Launcher3的folder文件夹功能定制中,要求folder文件夹跨行显示,就是 2x2布局显示,默认的都是占1格的,现在要求占4格显示,系统默认是不支持显示4格的,所以接下来需要分析相关的 功能,然后来实现这个功能 2.Launcher3定制fo…

《构建高效审批系统:架构设计与实践》

在现代企业管理中,审批系统扮演着至关重要的角色,它不仅能够规范业务流程,提高工作效率,还能够增强企业的管理控制力和信息化水平。本文将探讨如何设计和构建一套高效的审批系统架构,以满足企业日常审批需求&#xff0…

【Python】在Windows Server上部署Flask后端服务器

想要在Windows Server上部署flask应用,当然不能只下一个anaconda配完环境之后直接启动py文件,这样的话后台会有一段警告: * Serving Flask app app* Debug mode: off WARNING: This is a development server. Do not use it in a production …

UE4_Water插件_Buoyancy组件使用

water插件提供了一个浮力Actor蓝图类。 需要注意的几个问题: 1、StaticMesh需要替换根组件。 2、需要模拟物理设置质量。 3、需要添加浮力组件,设置浮力点,应用水中牵引力。 4、最重要的是需要激活——自动启用。 5、调水波长的地方 双击图片…

Linux 基础命令、性能监控

一、Linux 基础命令 grep:在文件中执行关键词搜索,并显示匹配的结果。 -c 仅显示找到的行数 -i 忽略大小写 -n 显示行号 -v 反向选择: 仅列出没有关键词的行 (invert) -r 递归搜索文件目录 -C n 打印匹配行的前后 n 行grep login user.cpp # 在…

Meta更低的训练成本取得更好的性能: 多token预测(Multi-Token Prediction)

Meta提出了一种透过多token预测(Multi-token Prediction)来训练更好、更快的大型语言模型的方法。这篇论文的重点如下: 训练语言模型同时预测多个未来的token,可以提高样本效率(sample efficiency)。 在推论阶段,使用多token预测可以达到最高3倍的加速。 论文的主要贡献包括: …

并发问题系统学习(更新中)

进程、线程 进程:进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。可以理解为一个java应用。 线程:线程是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源。…

CleanMyMac X 4.15.3 版本发布

CleanMyMac X 4.15.3 版本发布,一款苹果 macOS 系统好用的伴侣软件,其包含 1.一键深度清理。2.系统垃圾专清。3.大/旧文件专清。4.系统提速。5.性能悬浮窗。6.恶意软件防护。7.隐私保护。8.软件卸载器。9.软件更新器等 9 大功能,为您的苹果电…

VSCode-vue3.0-安装与配置-export default简单例子

文章目录 1.下载VSCode2.修改语言为中文3.辅助插件列表4.vue3模板文件简单例子5.总结 1.下载VSCode 从官网下载VSCode,并按下一步安装成功。 2.修改语言为中文 点击确认修改,如下图所示: 或者打开命令面板:输入Configure Displ…

如何快速学习VCU电控开发

本课程基于实际项目案例和岗位需求技能制定教学大纲,以任务驱动方式引导学员,让学员快速掌握VCU开发知识。首先从VCU开发必备知识点和MATLAB/Simulink软件建模工具的使用入手,夯实学员基础。再通过策略设计、模型搭建和测试标定来指导学员完成…

关闭vscode保存自动格式化的功能

1 首先打开设置 搜索:editor.formatOnSave 取消勾选框 2 再打开 settings.json 搜索 editor 找到 settings.json 设置: "editor.formatOnSave": false

基于opencv的车辆统计

车辆统计) 一、项目背景二、整体流程三、常用滤波器的特点四、背景减除五、形态学开运算闭运算 六、项目完整代码七、参考资料 一、项目背景 检测并识别视频中来往车辆的数量 最终效果图: 二、整体流程 加载视频图像预处理(去噪、背景减除…

详解typora配置亚马逊云科技Amazon S3图床

欢迎免费试用亚马逊云科技产品:https://mic.anruicloud.com/url/1333 当前有很多不同的博客社区,不同的博客社区使用的编辑器也不尽相同,大概可以分为两种,一种是markdown格式,另外一种是富文本格式。例如华为云开发者…

【项目学习01_2024.05.08_Day06】

学习笔记 5 新增课程5.1 需求分析5.1.1 业务流程5.1.2 数据模型 5.2 接口定义5.3 接口开发5.3.1 保存课程基本信息5.3.2 保存营销信息 5.4 接口测试 5 新增课程 5.1 需求分析 5.1.1 业务流程 5.1.2 数据模型 5.2 接口定义 5.3 接口开发 根据需求分析,新增课程表…

Python中的类和对象的概念理解和创建方法1——基本概念的理解和具体程序实例

Python中的类和对象的概念理解和创建方法1——基本概念的理解和具体程序实例 目录 Python中的类和对象的概念理解和创建方法1——基本概念的理解和具体程序实例一、类和对象的概念二、类和对象的关系2.1 两者辩证关系2.2 两者内部的对应关系 三、类和对象的优势3.1 多态性3.2 封…

添加一个索引要投产,需要哪些步骤?

编程一生 致力于写大家都能看懂的、有深度的 技术文章 05/2024 01 开场白 亚马逊有个bar raiser文化。就是说新招来的人一定要超过之前入职人员的平均水平,宁缺毋滥。越来越多的公司在推行这种文化。在这种氛围下:“虽然我不懂,但是活儿是能出…

Spring自定义配置属性类

以一个minio的配置类为例 首先,由于minio模块被很多微服务需要,因此封装了一个starter,当背的微服务需要的时候就进行引入。 以下是starter模块的结构图 一、spring.factories文件 org.springframework.boot.autoconfigure.EnableAutoConf…

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

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

Java | Leetcode Java题解之第78题子集

题目&#xff1a; 题解&#xff1a; class Solution {List<Integer> t new ArrayList<Integer>();List<List<Integer>> ans new ArrayList<List<Integer>>();public List<List<Integer>> subsets(int[] nums) {dfs(0, nums…