接口管理服务yapi的docker安装
1.简介
YAPI是由去哪儿网移动架构组(简称YMFE,一群由FE、iOS和Android工程师共同组成的最具想象力、创造力和影响力的大前端团队)开发的可视化接口管理工具,是一个可本地部署的、打通前后端及QA的接口管理平台。YAPI旨在为开发、产品和测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布和维护不同项目,不同平台的API。有了YAPI,我们可以很方便的测试、管理和维护多个项目的API接口,不像Swagger那样是随应用生和灭的(且线上环境下大多数须关闭),YAPI是一个独立的服务平台。
2.部署
此部署文档来源官网:
https://hub.docker.com/r/yapipro/yapi
2.1 Docker安装
略
2.2创建一个自定义网络
Docker 容器之间网络互通需要创建一个自定义网络
docker network create yapi
2.3数据库准备 MongoDB
YAPI 的数据库是 MongoDB,准备镜像并启动容器如下:
# 1. 备份 mongoDB 到宿主机,需要使用下面命令创建存储卷
docker volume create mongo-data
# 2. 拉取镜像,国内服务器提供商网络问题,可能会拉取多次才能成功
docker pull mongo:latest
# 3. 启动 MongoDB
# 启动 MongoDB,其中 -e 指定 MONGO_INITDB_ROOT_USERNAME 为 MongoDB 的 ROOT 用户名,MONGO_INITDB_ROOT_PASSWORD 为 MongoDB 的 ROOT 用户密码
docker run -d \
--name mongodb \
--restart always \
--net=yapi \
-p 27017:27017 \
-v mongo-data:/data/db \
-e MONGO_INITDB_DATABASE=yapi \
-e MONGO_INITDB_ROOT_USERNAME=yapipro \
-e MONGO_INITDB_ROOT_PASSWORD=yapipro1024 \
mongo
# 4、查看 MongoDB 容器的启动情况
docker ps -a
# 5、 进入 MongoDB 容器,从第 4 步查看 MongoDB 容器可以获取到容器 id,以下示例使用 2c46d9f59874 代表 MongoDB 的容器 id
docker exec -it 2c46d9f59874 /bin/sh
# 6、进入 MongoDB 容器后,进入 mongo cli
mongo localhost:27017
进入 MongoDB 的 mongo cli 后,执行以下语句进行初始化库表:
use admin;
db.auth("yapipro", "yapipro1024");
# 创建 yapi 数据库
use yapi;
# 创建给 yapi 使用的账号和密码,限制权限
db.createUser({
user: 'yapi',
pwd: 'yapi123456',
roles: [
{ role: "dbAdmin", db: "yapi" },
{ role: "readWrite", db: "yapi" }
]
});
# 退出 Mongo Cli
exit
# 退出容器
exit
2.4启动 YAPI
在宿主机的当前目录,根据自己修改创建一个 YAPI 配置文件 config.json
{
"port": "3000",
"adminAccount": "hexiaohei1024@gmail.com",
"timeout":120000,
"db": {
"servername": "mongo",
"DATABASE": "yapi",
"port": 27017,
"user": "yapi",
"pass": "yapi123456",
"authSource": ""
},
"mail": {
"enable": true,
"host": "smtp.gmail.com",
"port": 465,
"from": "*",
"auth": {
"user": "hexiaohei1024@gmail.com",
"pass": "xxx"
}
}
}
拉取最新镜像,启动
docker pull yapipro/yapi:latest
# 初始化数据库表
docker run -d --rm \
--name yapi-init \
--link mongodb:mongo \
--net=yapi \
-v $PWD/config.json:/yapi/config.json \
yapipro/yapi \
server/install.js
# 初始化管理员账号在上面的 config.json 配置中 hexiaohei1024@gmail.com,初始密码是 yapi.pro,可以登录后进入个人中心修改
docker run -d \
--name yapi \
--link mongodb:mongo \
--restart always \
--net=yapi \
-p 3000:3000 \
-v $PWD/config.json:/yapi/config.json \
yapipro/yapi \
server/app.js
# 在服务器上验证 yapi 启动是否成功
curl localhost:3000
2.5 访问
通过http://ip:3000/进行访问使用,账号:hexiaohei1024@gmail.com,初始密码是 yapi.pro