简介:

        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

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

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

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐