展示型网站企业网站建设软件开发公司排行榜
目录
- 0、Docker 环境准备
- 1、数据库准备 MongoDB
- 2、启动 YAPI
- 3、官网教程
0、Docker 环境准备
Docker 容器之间网络互通需要使用 docker network create yapi 创建一个自定义网络
docker network create yapi
1、数据库准备 MongoDB
YAPI 的数据库是 MongoDB,准备镜像并启动容器如下:
- 备份 mongoDB 到宿主机,需要使用下面命令创建存储卷
docker volume create mongo-data
- 拉取镜像,国内服务器提供商网络问题,可能会拉取多次才能成功
docker pull mongo:latest
- 启动 MongoDB
# 启动 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 mongo-data:/data/db \-e MONGO_INITDB_DATABASE=yapi \-e MONGO_INITDB_ROOT_USERNAME=yapipro \-e MONGO_INITDB_ROOT_PASSWORD=yapipro1024 \mongo
- 查看 MongoDB 容器的启动情况
docker ps -a
- 进入 MongoDB 容器,从第 4 步查看 MongoDB 容器可以获取到容器 id,以下示例使用 2c46d9f59874 代表 MongoDB 的容器 id
docker exec -it 2c46d9f59874 /bin/sh
- 进入 MongoDB 容器后,进入 mongo cli
mongo localhost:27017
进入 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
2、启动 YAPI
在宿主机的当前目录,根据自己修改创建一个 YAPI 配置文件 config.json(在当前文件下vi)
{"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 $PWD/config.json:/yapi/config.json \yapipro/yapi \server/install.js
初始化管理员账号在上面的 config.json 配置中 hexiaohei1024@gmail.com,初始密码是 yapi.pro,可以登录后进入个人中心修改
docker run -d \--name yapi \--link mongodb:mongo \--restart always \--net=yapi \-p 3000:3000 \-v $PWD/config.json:/yapi/config.json \yapipro/yapi \server/app.js
验证 yapi 启动是否成功
http://192.168.121.128:3000
自行修改用户名和密码
3、官网教程
https://hub.docker.com/r/yapipro/yapi