1、先安装好mongodb数据库

安装方法,传送门

2、拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi

3.启动mongodb数据库服务(已启动的忽略)

4、初始化

docker run -it --rm --link mongodb:mongo --entrypoint npm --workdir /api/vendors registry.cn-hangzhou.aliyuncs.com/anoy/yapi run install-server

mongodb是1步安装mongo的名称
这里会报错,因为1步安装的数据库使用的账号密码是admin/123456,而拉取的镜像默认密码是test1/test1。密码不一致导致的报错>
暂时不理会,跳过
此时重新打开一个Terminal窗口继续执行以下步骤

5、启动yapi

docker run -d  --restart=always --name yapi  --link mongodb:mongo --workdir /api/vendors  -p 3000:3000  registry.cn-hangzhou.aliyuncs.com/anoy/yapi  server/app.js

6、修改yapi登录mongo数据库的账号密码

# 1.进入容器运行指令窗口
docker exec -it yapi /bin/sh
# 2.修改配置文件
vi ../config.json

注意:进入容器后默认在/api/vendors/下,
修改配置文件指令使用的是两个点 即config.json文件和vendors同级
将config.json文件内容修改为如下内容(去掉注释)

{
  "port": "3000",
  // 管理员账号,可修改
  "adminAccount": "admin@admin.com",
  // 是否禁止注册,可不添加此项
  "closeRegister":true,
  // yapi连接数据库信息
  "db": {
  	// 服务名,注意与安装mongo的名称一致
    "servername": "mongo",
    // 初始化时的数据库名
    "DATABASE": "yapi",
    // 端口
    "port": 27017,
    // 登录数据库账号
    "user": "admin",
    // 登录数据库密码
    "pass": "123456",
    // 数据库鉴权源,可为空
    "authSource": "admin"
  }
}
# 3.保存修改
依次按键esc -> : -> wq -> 回车
# 4.退出容器命令行
exit

7、重启yapi服务

docker restart yapi

8、yapi安装完成

使用上述config.json配置中的adminAccount值做用户名,密码:ymfe.org
访问localhost:3000登录

9、上述config.json中如果配置了禁用注册,则注册用户使用如下步骤

9.1 登录yapi【参照上述8】
9.2 添加一个项目,名称任意
9.3 修改环境配置
在这里插入图片描述
9.4 添加一个接口
在这里插入图片描述
在这里插入图片描述
9.5进入刚创建的接口,输入参数,点击发送即可
在这里插入图片描述
在这里插入图片描述
9.6 使用abc@venny.cn + 123456登录即可

10.配置自动同步swagger接口数据

10.1进入项目->设置->swagger自动同步
10.2填入swagger同步地址即可
示例:

http://127.0.0.1:8080/v2/api-docs

在这里插入图片描述

后记

忘记yapi管理员账号密码,解决办法

  1. 进入容器内部docker exec -it yapi sh
  2. 删除yapi目录下init.lock文件,如果没有就忽略
  3. 执行npm run install-server
  4. 提示初始化管理员账号成功即可退出(exit)容器

swagger新版访问主页地址

http://localhost:8080/swagger-ui/index.html#/

同步接口json链接(建议用v3)

http://localhost:8080/v2/api-docs
http://localhost:8080/v3/api-docs

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐