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

news/2024/10/21 13:38:40/

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.ppmy.cn/news/763241.html

相关文章

wifi 漫游设置

很多客户经常问我:你们的WiFi会出现很多的WiFi名称吗?例如XX酒店WiFi 1、XX酒店WiFi 2,这样的情况会有吗?很多工程商客户之前都做过WiFi覆盖的,会有这样的困惑——WiFi不能自动切换,例如在酒店的大厅连接了…

用户漫游文件配置

windows server 2016用户管理 实验拓扑: 实验需求: 你作为网络管理员需要完成以下任务: 1.为了管理用户,通过图形化的方式新建用户名为user1,user2; 服务器管理器>工具>计算机管理>本地用户和…

取消漫游费,移动通信服务资费对农村用户来说不公平

三大电信运营商发布公告称,自2018年7月1日起,将取消流量“漫游”费,新老手机用户的省内通用流量升级为国内流量,看起来这对于国内手机用户来说是一件好事,不过这对于农村用户来说却未必是好事。 运营商在各地的定价有所…

二层漫游和三层漫游(转载)

漫游域 根据STA是否在同一个子网内漫游,可以将漫游分为二层漫游和三层漫游。 不同子网之间的漫游是三层漫游(同一个VLAN pool内的漫游仍然属于二层漫游)。 网络中有时候会出现以下情况:两个子网的VLAN ID相同,但是这…

Wi-Fi 漫游

Wi-Fi 漫游 Wi-Fi 漫游 无线工作站(STA)首先关联到基本服务集1(BSS1)中的无线接入点(AP1 ),然后在同一个扩展服务集(ESS)中,向BSS2的AP2移动。STA在移动过程…

取消京津冀手机漫游费更像文字游戏

取消京津冀手机漫游费更像文字游戏(转) 文/贾敬华 最近几天,三大运营商低调取消京津冀手机漫游费一事儿成为了舆论的热点。对于在北京工作,而生活在燕郊的北漂一族而言,取消京津冀手机漫游费绝对是一件幸福指数很高的事…

QT---将第三方软件窗口嵌入窗口中

实现步骤 第一步 获取进程的句柄 通过Windows API获取窗口句柄。 代码如下&#xff1a; // 定义枚举回调函数 BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {if (!IsWindowVisible(hwnd)){return TRUE;}std::vector<wstring>& titles *reinterpret_…

ApiDemo记录

1、只有查询 package webhandle;import com.fasterxml.jackson.databind.ObjectMapper; import utils.DbUtils;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.Http…