侧边栏壁纸
博主头像
WinJay博主等级

博观而约取 厚积而薄发

  • 累计撰写 333 篇文章
  • 累计创建 168 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

Yapi 搭建部署

WinJay
2022-11-18 / 0 评论 / 0 点赞 / 6 阅读 / 699 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-11-18,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Yapi 搭建部署

可视化接口管理平台 YApi,让你轻松搞定 API 的管理问题

1、Docker安装MongoDB

Yapi的数据存储是用MongoDB。如果存在MongoDB可以忽略

docker pull mongo 

启动MongoDB

docker run -d \
  --net=yapi \
  --name MongoDB \
  --restart always \
  -p 27017:27017 \
  -v `pwd`/MongoData:/data/db \
  -e MONGO_INITDB_DATABASE=yapi \
  -e MONGO_INITDB_ROOT_USERNAME=lit \
  -e MONGO_INITDB_ROOT_PASSWORD=litsoft1024 \
  mongo
ID 字段参数 说明
1 MONGO_INITDB_DATABASE 初始化一个库
2 MONGO_INITDB_ROOT_USERNAME mongodb的账号
3 MONGO_INITDB_ROOT_PASSWORD mongodb的密码

image-20221010115326061

image-20221010091210156

进到容器内进行初始化库表

# 1、查看 MongoDB 容器的启动情况
`docker ps -a`
# 2、 进入 MongoDB 容器
 `docker exec -it MongoDB /bin/bash`
# 3、进入 MongoDB 容器后,进入 mongo cli
`mongo localhost:27017`
# 4、进入 MongoDB 的 mongo cli 后,执行以下语句进行初始化库表
use admin;
db.auth("lit", "litsoft1024");`
# 创建 yapi 数据库
use yapi;
# 创建给 yapi 使用的账号和密码,限制权限 yapi是我们初始化的数据库
db.createUser({
  user: 'yapi',
  pwd: 'yapi123456',
  roles: [
 { role: "dbAdmin", db: "yapi" },
 { role: "readWrite", db: "yapi" }
  ]
});

# 退出 Mongo Cli
exit
# 退出容器
exit

image-20221010091428378

image-20221010093240315

image-20221010093547702

pod

2、启动 YAPI

在宿主机的当前目录,根据自己修改创建一个 YAPI 配置文件 config.json

 {
   "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"
     }
   }
 }

image-20221010100915694

docker pull yapipro/yapi
 
# 初始化数据库表  mongo_my我们的容器名 $PWD/config.json 宿主机的配置文件路径
 
docker run -d --rm \
  --net=yapi \
  --name YapiInit \
  --link MongoDB:mongo \
  -v `pwd`/YapiData/config.json:/yapi/config.json \
  yapipro/yapi \
  server/install.js




# 初始化管理员账号在上面的 config.json 配置中 hexiaohei1024@gmail.com,初始密码是 yapi.pro,可以登录后进入个人中心修改
   

docker run -d \
  --net=yapi \
  --name Yapi \
  --link MongoDB:mongo \
  --restart always \
  -p 3000:3000 \
  -v $PWD/YapiData/config.json:/yapi/config.json \
  yapipro/yapi \
  server/app.js
# 在服务器上验证 yapi 启动是否成功
curl localhost:3000

最终参考这个给部署上了

https://github.com/Ryan-Miao/docker-yapi

[root@Learning docker-yapi]# cat docker-compose.yml 
# Use root/example as user/password credentials
version: '3.1'

services:
  mongo:
    image: mongo:4
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example
      MONGO_INITDB_DATABASE: yapi
    volumes: 
        - ./mongo-conf:/docker-entrypoint-initdb.d
        - ./mongo/etc:/etc/mongo
        - ./mongo/data/db:/data/db
    ports: 
        - 27017:27017
    healthcheck:
      test: ["CMD", "netstat -anp | grep 27017"]
      interval: 2m
      timeout: 10s
      retries: 3
  yapi:
    build:
      context: ./
      dockerfile: Dockerfile
    image: yapi
    # 第一次启动使用
    # command: "yapi server"
    # 之后使用下面的命令
    command: "node /my-yapi/vendors/server/app.js"
    volumes: 
        - ./my-yapi:/my-yapi
    ports: 
      - 9090:9090
      - 3000:3000
    depends_on: 
      - mongo
networks:
  yapi:
0

评论区