Mock —— YApi 部署

289 阅读1分钟

创建网络

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 注意账号来自配置文件中写的邮箱,密码为默认

参考