目录
- 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