创建网络
docker network create yapi
创建挂载
docker volume create mongo-data
查看挂载
docker volume inspect mongo-data
MongoDB 数据库
docker run -d \
--name yapi-mongo \
--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.4.6
进容器进行初始化操作
docker exec -it yapi-mongo /bin/sh
连接mongo
mongo localhost:27017
创建 admin 库
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
MongoDB express 数据库管理器
docker run -d \
--name mongo-express \
--restart=always \
--link yapi-mongo:mongo \
--net=yapi \
-p 8081:8081 \
-e ME_CONFIG_OPTIONS_EDITORTHEME="3024-night" \
-e ME_CONFIG_BASICAUTH_USERNAME="mongoexpress" \
-e ME_CONFIG_BASICAUTH_PASSWORD="mongoexpress" \
-e ME_CONFIG_MONGODB_ADMINUSERNAME="yapipro" \
-e ME_CONFIG_MONGODB_ADMINPASSWORD="yapipro1024" \
mongo-express:0.54
访问 MongoDB express
http://ip:8081
yapi配置文件 config.json
{
"port": "3000",
"adminAccount": "herousi@163.com",
"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": "herousi@163.com",
"pass": "*********"
}
}
}
创建YApi服务
# 初始化 yapi;初始化后自动销毁
docker run -d --rm \
--name yapi-init \
--link yapi-mongo:mongo \
--net=yapi \
-v /data/yapi/config.json:/yapi/config.json \
yapipro/yapi:1.9.5 \
server/install.js
# 启动 yapi
docker run -d \
--name yapi \
--link yapi-mongo:mongo \
--restart always \
--net=yapi \
-p 3000:3000 \
-v /data/yapi/config.json:/yapi/config.json \
yapipro/yapi:1.9.5 \
server/app.js
访问yapi
访问:http://ip:3000 初始账号密码:herousi@163.com/yapi.pro 注意账号来自配置文件中写的邮箱,密码为默认