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,可以登录后进入个人中心修改。



















