Docker 本地部署 YApi
- 安装 Docker
- 安装
- 设置 USTC 镜像
- 启动 Docker
- Docker 安装 MongoDB
- Docker 安装 YApi
- 登录 YApi
本内容以虚拟机【系统:Centos7】为例,云服务器步骤相同。使用Docker 的方式搭建 YApi,拉取 MongoDB 镜像和 YApi 镜像即可。
安装 Docker
安装
-
yum 包更新到最新:
yum update
-
安装需要的软件包,yum-util 提供 yum-config-manager 功能,另外两个是 devicemapper 驱动依赖:
yum install -y yum-utils device-mapper-persistent-data lvm2
-
设置 yum 源为阿里云:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
安装 Docker 社区版:
yum -y install docker-ce
-
查看 Docker 版本号:
docker -v
设置 USTC 镜像
-
编辑
/etc/docker/daemon.json
文件:mkdir -p /etc/docker vim /etc/docker/daemon.json
注:通过 yum 安装 vim:
yum -y install vim*
。 -
在
daemon.json
文件中输入以下内容:{ "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"] }
启动 Docker
-
启动 docker
systemctl start docker
-
停止 docker
systemctl stop docker
-
查看 docker 状态
systemctl status docker
-
设置开机自动启动 docker
systemctl enable docker
Docker 安装 MongoDB
创建 mongo 容器数据挂载目录:
mkdir /usr/local/mongo
拉取 MongoDB 4.2.21 版本 Docker 镜像:
docker pull mongo:4.2.21
创建一个用于yapi的网络插件:
docker network create yapi
启动MongoDB容器,指定网络插件,映射端口,挂载目录,初始数据库 yapi,root 账户密码:
#启动MongoDB容器
docker run -d \--name mongodb \--restart always \--net=yapi \-p 2717:27017 \-v /usr/local/mongo:/data/db \-e MONGO_INITDB_DATABASE=yapi \-e MONGO_INITDB_ROOT_USERNAME=root \-e MONGO_INITDB_ROOT_PASSWORD=root \mongo:4.2.21
进入 MongoDB 容器:
docker exec -it mongodb /bin/bash
切换 admin 数据库:
use admin;
使用 root 账户密码进行身份验证:
db.auth("root ", "root");
切换 yapi 数据库:
use yapi;
创建一个用户:yapi,并授予可操作的权限:
db.createUser({user: 'yapi',pwd: 'yapi123456',roles: [{ role: "dbAdmin", db: "yapi" },{ role: "readWrite", db: "yapi" }]
});
执行两次退出命令,退出到终端:
exit
Docker 安装 YApi
创建本地配置文件 config.json
用于容器挂载:
vim /usr/local/yapi/config.json
添加以下内容:
{"port": "3000","adminAccount": "****@qq.com", // 管理员账号名,用于登录"timeout":120000,"db": {"servername": "mongo","DATABASE": "yapi","port": 27017,"user": "yapi","pass": "yapi123456","authSource": ""},"mail": { // 邮箱功能"enable": true,"host": "smtp.qq.com","port": 465,"from": "****@qq.com","auth": {"user": "****@qq.com","pass": "****password"}}}
注:db.user 和 db.pass 是 mongodb 的用户名和密码,如果没有开启 mongo 认证功能,请删除这两个选项。
Docker search 查询 yapi 镜像:
docker search yapi
pull 命令拉取镜像:
docker pull yapipro/yapi
初始化 yapi 数据库表:
docker run -d --rm \--name yapi-init \--link mongodb:mongo \--net=yapi \-v /usr/local/yapi/config.json:/yapi/config.json \yapipro/yapi \server/install.js
启动 yapi 容器,指定容器名,端口号,挂载配置文件 /usr/local/yapi/config.json
:
docker run -d \--name yapi \--link mongodb:mongo \--restart always \--net=yapi \-p 3000:3000 \-v /usr/local/yapi/config.json:/yapi/config.json \yapipro/yapi \server/app.js
登录 YApi
访问 URL 【http://192.168.1.14:3000/】:
使用账号密码登录:
注:初始化管理员账号在上面的 config.json 配置中 adminAccount 的值,初始密码是 yapi.pro,可以登录后进入个人中心修改。