项目搭建
首先使用docker-compose启动mongo,注意这里的mogon网络默认是mongo-default:
version: '3.8'
services:
mongo:
image: mongo:8.0.10
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: root
ports:
- "27017:27017"
mongo-express:
image: mongo-express:1.0.2
restart: always
ports:
- "8981:8081"
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: root
ME_CONFIG_MONGODB_URL: mongodb://root:root@mongo:27017/
ME_CONFIG_BASICAUTH: "false"
depends_on:
- mongo
初始化Yapi
1. 启动mongodb容器
2. 进入mongodb docker exec -it mongo-mong-1
3.
use admin
db.auth("root", "root") //这里的帐号密码是mongo的帐号密码
use yapi //创建数据库,目前在mongo-express里还看见,需要待yapi启动后新yapi仓库才可见
//创建用户,这里常创建链接仓库yapi的帐号密码是配置到config.json中的
db.createUser({
user: 'yapi',
pwd: 'yapi',
roles: [
{ role: "dbAdmin", db: "yapi" },
{ role: "readWrite", db: "yapi" }
]
});
4. config.json如下, 其中servername随便填,没有特定要求
{
"port": "3000",
"adminAccount": "yapiadmin@163.com",
"timeout":120000,
"db": {
"servername": "mongo",
"DATABASE": "yapi",
"port": 27017,
"user": "yapi",
"pass": "yapi",
"authSource": ""
},
"mail": {
"enable": true,
"host": "smtp.163.com",
"port": 465,
"from": "*",
"auth": {
"user": "yapiadmin@163.com",
"pass": "yapi"
}
}
}
docker run -d --rm \
--net=mongo_default \
-v /opt/mongo/yapi/config.json:/yapi/config.json \
yapipro/yapi:1.9.5 \
server/install.js
docker run -d \
--name yapi \
--restart always \
--net=mongo_default \
-p 3000:3000 \
-v /opt/mongo/yapi/config.json:/yapi/config.json \
yapipro/yapi:1.9.5 \
server/app.js
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