概述
YApi 是高效、易用、功能強大的 api 管理平臺,旨在為開發、產品、測試人員提供更優雅的介面管理服務。可以幫助開發者輕鬆建立、釋出、維護 API,YApi 還為使用者提供了優秀的互動體驗,開發人員只需利用平臺提供的介面資料寫入工具以及簡單的點選操作就可以實現介面的管理。
docker安裝,參考官方文件:https://hub.docker.com/r/yapipro/yapi
資料庫準備 MongoDB
Docker 容器之間網路互通需要使用網橋,建立一個網橋yapi
docker network create yapi
YAPI 的資料庫是 MongoDB,建立持久化目錄
mkdir -p /data/mongo/data
拉取最新映象
docker pull mongo:latest
啟動 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 /data/mongo/data:/data/db \ -e MONGO_INITDB_DATABASE=yapi \ -e MONGO_INITDB_ROOT_USERNAME=yapipro \ -e MONGO_INITDB_ROOT_PASSWORD=yapipro1024 \ mongo
進入 MongoDB 容器
docker exec -it mongodb /bin/bash
進入 mongo cli
mongosh localhost:27017
如果出現以下提示,表示進入成功
Current Mongosh Log ID: 66c1bf49c2a529ef68149f47 Connecting to: mongodb://localhost:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.2.10 Using MongoDB: 7.0.12 Using Mongosh: 2.2.10 For mongosh info see: https://docs.mongodb.com/mongodb-shell/ test>
進入 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
啟動 YAPI
建立配置檔案
mkdir -p /data/yapi/conf
vi /data/yapi/conf/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 /data/yapi/conf/config.json:/yapi/config.json \ yapipro/yapi \ server/install.js
啟動yapi
docker run -d \ --name yapi \ --link mongodb:mongo \ --restart always \ --net=yapi \ -p 3000:3000 \ -v /data/yapi/conf/config.json:/yapi/config.json \ yapipro/yapi \ server/app.js
檢視yapi日誌
docker logs -f yapi
出現以下資訊,表示啟動成功
log: -------------------------------------swaggerSyncUtils constructor----------------------------------------------- log: 服務已啟動,請開啟下面連結訪問: http://127.0.0.1:3000/ log: mongodb load success... (node:1) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
訪問
http://192.168.20.131:3000/
點選登入
初始化管理員賬號在上面的 config.json 配置中
使用者名稱:hexiaohei1024@gmail.com
初始密碼:yapi.pro
可以登入後進入個人中心修改
登入成功,效果如下: