docker yapi安装
概述
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
docker安装,参考官方文档:https://hub.docker.com/r/yapipro/yapi
数据库准备 MongoDB
Docker 容器之间网络互通需要使用网桥,创建一个网桥yapi
docker network create yapi
YAPI 的数据库是 MongoDB,创建持久化目录
mkdir -p /data/mongo/data
拉取最新镜像
docker pull mongo:latest
启动 MongoDB,其中 -e 指定 MONGO_INITDB_ROOT_USERNAME 为 MongoDB 的 ROOT 用户名,MONGO_INITDB_ROOT_PASSWORD 为 MongoDB 的 ROOT 用户密码
1 2 3 4 5 6 7 8 9 10 | docker run -d \ --name mongodb \ --restart always \ --net=yapi \ -p 27017:27017 \ - v /data/mongo/data : /data/db \ -e MONGO_INITDB_DATABASE=yapi \ -e MONGO_INITDB_ROOT_USERNAME=yapipro \ -e MONGO_INITDB_ROOT_PASSWORD=yapipro1024 \ mongo --bind_ip=0.0.0.0 |
进入 MongoDB 容器
docker exec -it mongodb /bin/bash
进入 mongo cli
mongosh localhost:27017
如果出现以下提示,表示进入成功
1 2 3 4 5 6 7 8 | Current Mongosh Log ID: 66c1bf49c2a529ef68149f47 Connecting to: mongodb: //localhost :27017/?directConnection= true &serverSelectionTimeoutMS=2000&appName=mongosh+2.2.10 Using MongoDB: 7.0.12 Using Mongosh: 2.2.10 For mongosh info see: https: //docs .mongodb.com /mongodb-shell/ test > |
进入 MongoDB 的 mongo cli 后,执行以下语句进行初始化库表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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
创建配置文件
mkdir -p /data/yapi/conf
vi /data/yapi/conf/config.json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | { "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" } } } |
拉取最新镜像
1 | docker pull yapipro /yapi :latest |
初始化数据库表
1 2 3 4 5 6 7 | docker run -d -- rm \ --name yapi-init \ --link mongodb:mongo \ --net=yapi \ - v /data/yapi/conf/config .json: /yapi/config .json \ yapipro /yapi \ server /install .js |
启动yapi
1 2 3 4 5 6 7 8 9 | docker run -d \ --name yapi \ --link mongodb:mongo \ --restart always \ --net=yapi \ -p 3000:3000 \ - v /data/yapi/conf/config .json: /yapi/config .json \ yapipro /yapi \ server /app .js |
查看yapi日志
docker logs -f yapi
出现以下信息,表示启动成功
1 2 3 4 5 | log: -------------------------------------swaggerSyncUtils constructor----------------------------------------------- log: 服务已启动,请打开下面链接访问: http: //127 .0.0.1:3000/ log: mongodb load success... (node:1) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated |
访问
http://192.168.20.131:3000/
点击登录
初始化管理员账号在上面的 config.json 配置中
用户名:hexiaohei1024@gmail.com
初始密码:yapi.pro
可以登录后进入个人中心修改
登录成功,效果如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix