yapi
yapi:高效、易用、功能强大的API管理平台 旨在为开发、产品、测试人员提供更优雅的接口管理服务
通过docker安装yapi比较简单,主要是下面几个步骤
- 安装网络插件
- 安装mongo数据库
- 安装yapi镜像
- 初始化yapi数据库以及相关配置
- 启动yapi容器
- 修改yapi初始账号密码
安装网络插件
docker network create yapi
安装mongo数据库
创建挂载卷
mkdir /data/mongo -p
拉取镜像
docker search mongo
docker pull mongo:4.2.21
启动mongodb
docker run -d \
--name mongodb \
--restart always \
--net=yapi \
-p 2717:27017 \
-v /data/mongo:/data/db \
-e MONGO_INITDB_DATABASE=yapi \
-e MONGO_INITDB_ROOT_USERNAME=yapipro \
-e MONGO_INITDB_ROOT_PASSWORD=yapipro1024 \
mongo:4.2.21
进入容器初始化数据库
#查看运行中的容器
docker ps
#进入容器 -it后面可以是容器id也可以是容器名称
docker exec -it mongodb /bin/bash
#进入mongo cli
mongo localhost:27017
初始化数据库
#初始化数据库,依次执行如下命令
use admin;
db.auth("yapi", "yapi111");
# 创建 yapi 数据库
use yapi;
# 创建给 yapi 使用的账号和密码,限制权限
db.createUser({
user: 'yapi',
pwd: 'yapi123456',
roles: [
{ role: "dbAdmin", db: "yapi" },
{ role: "readWrite", db: "yapi" }
]
});
# 退出 Mongo Cli
exit
# 退出容器
exit
创建yapi
创建yapi的配置文件config.json
vim /data/yapi/config.json
下面是config.json里面的内容
{
"port": "3000",
"adminAccount": "ccc@163.com", #这个是yapi初始化账号
"timeout":120000,
"db": {
"servername": "mongo",
"DATABASE": "yapi",
"port": 27017,
"user": "yapi",
"pass": "yapi123456",
"authSource": ""
},
"mail": {
"enable": true,
"host": "smtp.163.com",
"port": 465,
"from": "*",
"auth": {
"user": "xxx@163.com",
"pass": "xxx"
}
}
}
拉去镜像
docker pull yapipro/yapi:1.9.5
初始化数据库表
docker run -d --rm \
--name yapi-init \
--link mongodb:mongo \
--net=yapi \
-v /data/yapi/config.json:/yapi/config.json \
yapipro/yapi:1.9.5 \
server/install.js
启动run yapi
docker run -d \
--name yapi \
--link mongodb:mongo \
--restart always \
--net=yapi \
-p 3000:3000 \
-v /data/yapi/config.json:/yapi/config.json \
yapipro/yapi:1.9.5 \
server/app.js
初始化管理员账号在上面的 config.json 配置中 adminAccount的值,初始密码是 yapi.pro,可以登录后进入个人中心修改 127.0.0.1:3000访问页面
修改yapi初始化账号密码
查看yapi启动状态
#查看yapi是否启动
docker ps
#进入容器 -it是容器名称 或者id /bin/bash不能用的话用/bin/sh
docker exec -it yapi /bin/bash
找到刚才挂载的容器里面config.json的文件路径,并修改它
#换个账号 adminaccount 换个名称
/api # cat config.json
/api # vi config.json
{
"port": "3000",
"adminAccount": "admin@admin.com",
"db": {
"servername": "mongo",
"DATABASE": "yapi",
"port": 27017
}
进入到容器,切换到vendors路径
/api # cd vendors/
/api/vendors # ls
CHANGELOG.md config_example.json package-lock.json webpack.alias.js
LICENSE docs package.json yapi-base-flow.jpg
README.md exts plugin.json ydoc.js
X64 node_modules server ydocfile.js
client nodemon.json static ykit.config.js
common npm-publish.js test
/api/vendors # npm run install-server
> yapi-vendor@1.8.5 install-server /api/vendors
> node server/install.js
log: mongodb load success...
初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org"
/api/vendors # exit
重启yapi容器
docker restart yapi
#查看容器启动端口 ip加端口访问即可
docker ps