YApi-高效、易用、功能强大的可视化接口管理平台——(一)使用 Docker 本地部署

news2024/9/20 22:32:08

Docker 本地部署 YApi

    • 安装 Docker
      • 安装
      • 设置 USTC 镜像
      • 启动 Docker
    • Docker 安装 MongoDB
    • Docker 安装 YApi
    • 登录 YApi

本内容以虚拟机【系统:Centos7】为例,云服务器步骤相同。使用Docker 的方式搭建 YApi,拉取 MongoDB 镜像和 YApi 镜像即可。

安装 Docker

安装

  1. yum 包更新到最新:

    yum update
    
  2. 安装需要的软件包,yum-util 提供 yum-config-manager 功能,另外两个是 devicemapper 驱动依赖:

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
  3. 设置 yum 源为阿里云:

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  4. 安装 Docker 社区版:

    yum -y install docker-ce
    
  5. 查看 Docker 版本号:

    docker -v
    

设置 USTC 镜像

  1. 编辑 /etc/docker/daemon.json 文件:

    mkdir -p /etc/docker
    vim /etc/docker/daemon.json
    

    注:通过 yum 安装 vim:yum -y install vim*

  2. daemon.json 文件中输入以下内容:

    {
    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
    }
    

启动 Docker

  1. 启动 docker

    systemctl start docker
    
  2. 停止 docker

    systemctl stop docker
    
  3. 查看 docker 状态

    systemctl status docker
    
  4. 设置开机自动启动 docker

    systemctl enable docker
    

Docker 安装 MongoDB

创建 mongo 容器数据挂载目录:

mkdir /usr/local/mongo

拉取 MongoDB 4.2.21 版本 Docker 镜像:

docker pull mongo:4.2.21

创建一个用于yapi的网络插件:

docker network create yapi

启动MongoDB容器,指定网络插件,映射端口,挂载目录,初始数据库 yapi,root 账户密码:

#启动MongoDB容器
docker run -d \
  --name mongodb \
  --restart always \
  --net=yapi \
  -p 2717:27017 \
  -v /usr/local/mongo:/data/db \
  -e MONGO_INITDB_DATABASE=yapi \
  -e MONGO_INITDB_ROOT_USERNAME=root \
  -e MONGO_INITDB_ROOT_PASSWORD=root \
  mongo:4.2.21

进入 MongoDB 容器:

docker exec -it mongodb /bin/bash

切换 admin 数据库:

use admin;

使用 root 账户密码进行身份验证:

db.auth("root	", "root");

切换 yapi 数据库:

use yapi;

创建一个用户:yapi,并授予可操作的权限:

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

执行两次退出命令,退出到终端:

exit

Docker 安装 YApi

创建本地配置文件 config.json 用于容器挂载:

vim /usr/local/yapi/config.json

添加以下内容:

{
   "port": "3000",
   "adminAccount": "****@qq.com", // 管理员账号名,用于登录
   "timeout":120000,
   "db": {
     "servername": "mongo",
     "DATABASE": "yapi",
     "port": 27017,
     "user": "yapi",
     "pass": "yapi123456",
     "authSource": ""
   },
   "mail": { // 邮箱功能
     "enable": true,
     "host": "smtp.qq.com",
     "port": 465,
     "from": "****@qq.com",
     "auth": {
       "user": "****@qq.com",
       "pass": "****password"
     }
   }
 }

注:db.user 和 db.pass 是 mongodb 的用户名和密码,如果没有开启 mongo 认证功能,请删除这两个选项。

Docker search 查询 yapi 镜像:

docker search yapi

image-20230707124701866

pull 命令拉取镜像:

docker pull yapipro/yapi

image-20230707124737640

初始化 yapi 数据库表:

docker run -d --rm \
  --name yapi-init \
  --link mongodb:mongo \
  --net=yapi \
  -v /usr/local/yapi/config.json:/yapi/config.json \
   yapipro/yapi \
  server/install.js

启动 yapi 容器,指定容器名,端口号,挂载配置文件 /usr/local/yapi/config.json

docker run -d \
   --name yapi \
   --link mongodb:mongo \
   --restart always \
   --net=yapi \
   -p 3000:3000 \
   -v /usr/local/yapi/config.json:/yapi/config.json \
   yapipro/yapi \
   server/app.js

登录 YApi

访问 URL 【http://192.168.1.14:3000/】:

image-20230707135904997

使用账号密码登录:

image-20230707140011028

注:初始化管理员账号在上面的 config.json 配置中 adminAccount 的值,初始密码是 yapi.pro,可以登录后进入个人中心修改。

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

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

相关文章

SpringBoot学习——追根溯源servlet是啥,tomcat是啥,maven是啥 springBoot项目初步,maven构建,打包 测试

目录 引出追根溯源,过渡衔接servlet是啥?tomcat是啥? 前后端开发的模式1.开发模式:JavaWeb:MVC模型2.Web:Vue,MVVC模型3.后端相关3.1 同步与异步3.2 Controller层3.3 Service层:要加…

【C语言基础】函数(2)

在函数(1)中我们已经讲过了函数的定义,形参与实参,函数的调用,局部变量与栈内存 接下来还有几个要强调的函数相关知识。 一、静态函数 静态函数是在函数声明前加上关键字 static 的函数。静态函数在C语言中具有以…

让计算机讲话

std ::cout是什么&#xff1f; 首先 std是命名空间后面会讲。STD&#xff08;standard标准&#xff09; cout和printf就呢让计算机说话 最早的使用打印机&#xff0c; std::cout相当于调用了一个特殊的函数。 后面需要加<<隔开。 知道最基本的知识就OK了 c的风格 函数…

API接口在软件开发中扮演着重要的角色

随着互联网的快速发展&#xff0c;API&#xff08;Application Programming Interface&#xff09;接口在软件开发中扮演着重要的角色。调试API接口是确保系统正常运行的关键步骤之一。本文将介绍如何选择适合的方法进行API接口调试&#xff0c;以确保开发过程的高效进行和应用…

20.光敏传感器

1.光敏传感器介绍&#xff1a; 光敏二极管(光敏电阻),作为光敏传感器&#xff1b;光敏二极管也称光电二极管&#xff1b;光敏二极管与半导体二极管在结构上类似&#xff0c;其管芯是一个具有光敏特征的PN结&#xff0c;具有单向导电性&#xff0c;因此工作时需要加上反向电压。…

【ECharts系列】ECharts 鼠标悬停线格式化

问题描述&#xff1a; 折线图有很多数据&#xff0c;鼠标悬停时&#xff0c;针对X轴&#xff0c;Y轴数据进行格式化&#xff0c;例如X的时间戳&#xff0c;格式化为时分秒&#xff0c;Y轴保留两位小时 希望效果图&#xff1a; 方案1&#xff1a; 在这个示例中&#xff0c;X轴依…

指针进阶(二)

目录 函数指针数组 指向函数指针数组的指针 回调函数 回调函数模拟实现qsort&#xff08;快速排序&#xff09; 整型数组的排序 结构题排序 按年龄排序 按名字排序 模拟实现qsort函数&#xff08;冒泡排序&#xff09; 函数指针数组 数组是一个存放相同类型数据的存储空…

【Linux】gcc/g++的使用 自动化构建工具make/makefile的使用

一.gcc的使用 在学习C语言时&#xff0c;我们了解了预处理阶段要做的事&#xff1a;->预处理 这其中会经历两个阶段&#xff1a;编译和链接 而编译又分为三个阶段&#xff1a;预编译&#xff0c;编译&#xff0c;汇编 通过不同的选项&#xff0c;可以让gcc停在以上相应的阶段…

ArcGis Pro如何通过C#进行插件开发?

文章目录 0.引言1.开发工具准备2.VS&#xff08;C#&#xff09;创建ArcGIS Pro模块加载项3.编译并使用ArcGis Pro插件 0.引言 ArcGIS Pro插件&#xff08;Add-ins&#xff09;可以让用户更加容易的自定义和扩展ArcGIS Pro应用程序&#xff0c;它创建一系列自定义工具提供了一个…

ISO文件boot、dvd、minimal的区别

在centos的下载中&#xff0c;有分为boot、dvd、minimal的iso文件&#xff0c;那么他们之间有什么区别呢&#xff1f; boot.iso 这个版本大小不会超过1G ,只有最基本的启动引导等内容&#xff0c;各类包均需从线上下载&#xff0c;需要快速安装且有可靠网络的前提下&#xff0c…

linux中的数据库

目录 1.安装MySQL 2.创建数据库 3.删除数据库 4.查询创建数据库的语句 5使用数据库的语句 6.查询当前默认的数据库 7.查询使用的编码方式和校验规则 8.创建表的语句 9.表的物理存储结构 10.表的数据类型 11.总结 引言&#xff1a; 数据库是现代应用开发中不可或缺的组…

获取视频 RTMP 推流web播放

工作需要研究下市面上显示实时视频方案。这里介绍下RTMP协议。 需求获取USB摄像头&#xff0c;手机谁摄像头。显示到web网页上。 一、 采集摄像头 这个使用opencvSharp来采集&#xff1a; nuget: var task Task.Run(() >{var capture new VideoCapture(0);VideoCaptur…

PHP实战开发25-电商网站系统缓存设计方案系统讲述

文章目录 一、前言-缓存的作用1.1 提高性能1.2 减轻服务端压力1.3 减少网络流量1.4 改善用户体验1.5 支持离线访问1.6 降低数据传输成本 二、浏览器缓存2.1 强缓存2.2 协商缓存 三、CDN 缓存3.1 使用CDN缓存的好处3.1.1 加速网站加载时间3.1.2 节省服务器带宽3.1.3 提高可用性和…

快速计算多项式相乘系数 FFT快速傅里叶变换

快速计算多项式相乘系数 FFT快速傅里叶变换 快速傅里叶变换(FFT)——有史以来最巧妙的算法&#xff1f; 正常求两个多项式乘积 A ( x ) ∑ i 0 n A i x i , B ( x ) ∑ i 0 n B i x i C ( x ) ∑ i 0 n ∑ j 0 n A i B j x i j A(x)\sum_{i0}^{n}{A_ix^i},B(x)\sum_{…

Java多线程基础-11:工厂模式及代码案例之线程池

在Java中&#xff0c;xx池的概念是很常见的&#xff0c;比如之前遇到过的常量池、数据库连接池等等。 线程池是一种常用的多线程处理方式&#xff0c;它可以重复利用已创建的线程&#xff0c;从而减少线程的创建和销毁开销&#xff0c;并提高程序的性能。 通俗来说&#xff…

【Windows】Redis集群部署

集群是如何进行工作的 Redis采用哈希槽来处理数据与节点之间的映射关系&#xff0c;一个集群共有16384 个哈希槽&#xff0c;每个key通过 CRC16算法计算出一个16bit的值&#xff0c;再对16384取模&#xff0c;得到对应的哈希槽&#xff0c;集群通过维护哈希槽与节点的关系来得…

flutter聊天界面-Text富文本表情emoji、url、号码展示

flutter聊天界面-Text富文本表情emoji、url、号码展示 Text富文本表情emoji展示&#xff0c;主要通过实现Text.rich展示文本、emoji、自定义表情、URL等 一、Text及TextSpan Text用于显示简单样式文本 TextSpan它代表文本的一个“片段”&#xff0c;不同“片段”可按照不同的…

Verilog学习笔记2:反相器

代码&#xff1a; //反相器 timescale 1ns/10ps module inv( A,y); input A; output y; assign y~A; endmodule //testbench module inv_tb;reg A; wire YY;inv inv(.A(A),.y(YY));initial beginA<0;#10 A<1;#10 A<0; #10 A<1;#10 A<0; #10 A<1;#10 A<0;…

从小白到大神之路之学习运维第54天--------ELK日志收集分析

第三阶段基础 时 间&#xff1a;2023年7月6日 地 点&#xff1a;2304教室 授课人&#xff1a;李凤海 参加人&#xff1a;全班人员 内 容&#xff1a; ELK技术堆栈 目录 服务器设置&#xff1a; 部署elasticsearch集群&#xff1a; 配置elasticsearch集群&#xff…

怎样寻找SEO服务商,需要注意那些问题?

网上提供SEO服务的公司或个人多如牛毛&#xff0c;随便在搜索引擎上搜索一下&#xff0c;成千上万的公司就在眼前。大部分网站设计公司也兼职SEO服务&#xff0c;寻找合适的SEO服务商并不简单&#xff0c;鉴别合格的SEO服务商是关键。 1、确定外包任务 如果没有SEO团队&…