Docker安装Yapi接口管理平台

679 阅读2分钟

Docker安装Yapi

dockerHub下载地址(可以去里面找对应的镜像)

 https://registry.hub.docker.com

1、首先安装MongoDB

YAPI 的数据库是 MongoDB,准备镜像并启动容器如下:

1、Docker 容器之间网络互通需要使用 docker network create yapi 创建一个自定义网络

1.1、将MongoDB的镜像下载

Docker 容器之间网络互通需要使用 docker network create yapi 创建一个自定义网络

 docker pull mongo

2、启动MongoDB镜像为容器

 docker run -d \
   --name mongodb \
   --restart always \
   --net=yapi \
   -p 27017:27017 \
   -v /home/yapi/mongo-data:/data/db \
   -e MONGO_INITDB_DATABASE=yapi \
   -e MONGO_INITDB_ROOT_USERNAME=yapipro \
   -e MONGO_INITDB_ROOT_PASSWORD=yapipro1024 \
   mongo

3、查看容器(所有)

 docker ps -a

4、进入容器

 docker exec -it 容器id /bin/sh

5、进入 mongo cli 、初始化Yapi数据

 mongo localhost:27017

5.1、初始化数据

 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

在安装Yapi

1、编写一个config.json

  {
    "port": "3000",
    "adminAccount": "858689814@qq.com",
    "timeout":120000,
    "db": {
      "servername": "mongo",
      "DATABASE": "yapi",
      "port": 27017,
      "user": "yapi",
      "pass": "yapi123456"
    },
    "mail": {
      "enable": true,
      "host": "smtp.qq.com",
      "port": 465,
      "from": "858689814@qq.com",
      "auth": {
        "user": "858689814@qq.com",
        "pass": "xxx"
      }
    }
  }

可以修改配置禁止注册

配置在config.json

其他配置:官网教程

 {
   "closeRegister":true
 }

2、将yapi的镜像下载

 docker pull yapipro/yapi

3、初始化:的时候会将配置文件中的adminAccount值 作为初始用户名

 docker run -d --rm \
   --name yapi-init \
   --link mongodb:mongo \
   --net=yapi \
   -v /home/yapi/config.json:/yapi/config.json \
    容器id \
   server/install.js

3、 运行

 docker run -d \
    --name yapi \
    --link mongodb:mongo \
    --restart always \
    --net=yapi\
    -p 3000:3000 \
    -v /home/yapi/config.json:/yapi/config.json \
    容器id \
    server/app.js
 # 初始化管理员账号在上面的 config.json 配置中 858689814@qq.com,初始密码是 yapi.pro,可以登录后进入个人中心修改

自后就可以通过ip:端口就可以访问了!!!

坑:

配置邮箱的时候、什么时候会发邮件、idea推送yapi 的时候、但是你要在你开启消息通知、确保邮箱配置可用!!! 1635337595283.png

1635337576723.png

如果没有配置成员通知的话会报一个错误

 error: send mail  error,No recipients defined 

Docker删除Yapi

1、停止Yapi容器

 docker stop 容器id

2、删除Yapi容器

 docker rm  容器id

3、删除Yapi镜像

 docker rmi 镜像id

如果直接删除镜像的话会报一个错误、容器在运行中

1635253001605.png

或者停止容器、再次删除镜像、会报一个容器中有这个不能直接删除镜像

1635253038006.png

所以先先停止容器、在删除容器、在删除镜像、后就删除成功了!!!

1635253104093.png