使用Docker搭建YApi接口管理平台

1、安装Docker

合集:Docker安装与使用

2、安装YApi

创建目录:

bash 复制代码
mkdir -p yapi/mongodb/{configdb,db}
cd yapi/

下载:

bash 复制代码
说明:使用git/wget下载或者直接下载压缩包

git命令:git clone https://github.com/YMFE/yapi.git
wget命令:wget https://github.com/YMFE/yapi/archive/refs/tags/v1.12.0.tar.gz
bash 复制代码
wget https://github.com/YMFE/yapi/archive/refs/tags/v1.12.0.tar.gz

解压:

bash 复制代码
tar -xf v1.12.0.tar.gz

项目结构:

bash 复制代码
# 命令:
tree -L 1 yapi

# 内容:
yapi
|-- config.json
|-- docker-compose.yaml
|-- Dockerfile
|-- mongodb
|-- v1.12.0.tar.gz
`-- yapi-1.12.0

2 directories, 4 files

复制配置文件:

bash 复制代码
cp yapi-1.12.0/config_example.json config.json

修改config.json文件:

bash 复制代码
{
  "port": "3000",
  "adminAccount": "admin@admin.com",
  "timeout":120000,
  "db": {
    "servername": "mongodb",
    "DATABASE": "yapi",
    "port": 27017,
    "user": "",
    "pass": "",
    "authSource": ""
  },
  "mail": {
    "enable": false,
    "host": "smtp.163.com",
    "port": 465,
    "from": "***@163.com",
    "auth": {
      "user": "***@163.com",
      "pass": "*****"
    }
  }
}

创建Dockerfile文件:

bash 复制代码
FROM node:8
COPY yapi-1.12.0 /www/yapi
WORKDIR /www/yapi
RUN npm install --production --registry https://registry.npmmirror.com

构建镜像:

bash 复制代码
docker build -t node-yapi:v1 .

创建docker-compose.yaml:

bash 复制代码
services:
  mongodb:
    image: mongo:latest
    container_name: mongodb
    privileged: true
    ports:
      - "27017:27017"
    tty: true
    volumes:
      - ./mongodb/configdb:/data/configdb
      - ./mongodb/db:/data/db
  nodejs:
    image: node-yapi:v1
    container_name: nodejs
    privileged: true
    ports:
      - "3000:3000"
    tty: true
    command: ["/bin/bash","-c","npm run install-server && node server/app.js"]
    volumes:
      - ./config.json:/www/config.json
    depends_on: 
      - mongodb
    links:
      - mongodb
networks:
  yapi_network:
    driver: bridge

启动容器:

bash 复制代码
# 创建并启动容器
docker-compose up -d

# 停止并销毁容器
# docker-compose down

查看日志:

bash 复制代码
# 命令
docker logs nodejs



# 内容
> yapi-vendor@1.11.0 install-server /www/yapi
>  node server/install.js

log: mongodb load success...
初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org"
log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------
log: 服务已启动,请打开下面链接访问: 
http://127.0.0.1:3000/
log: mongodb load success...

3、浏览器访问

bash 复制代码
假设当前ip为192.168.186.128
浏览器访问:http://192.168.186.128:3000
默认管理员账户密码:admin@admin.com/ymfe.org

点击"登录 / 注册":

输入用户名密码:

点击"登录"后显示的页面:

4、详见

bash 复制代码
https://github.com/YMFE/yapi
https://hellosean1025.github.io/yapi/

5、其他

合集:API文档

合集:API文档2

相关推荐
donoot11 小时前
一次 Nginx 502 问题的深度排查:从 SELinux 到容器网络
nginx·docker·selinux·反向代理·502 bad gateway
Sagittarius_A*13 小时前
Docker:渗透前置容器化核心基础
运维·安全·docker·容器
名字还没想好☜15 小时前
Docker 多阶段构建:把镜像从 1.2GB 砍到 15MB
运维·docker·容器·多阶段构建·镜像优化
生活爱好者!16 小时前
NAS还能玩游戏?部署一款 WebGL 3D 赛车小游戏
游戏·docker·容器·玩游戏
曦月合一17 小时前
本地电脑部署docker,及各种组件(nginx、mysql、redis、mongo、minio、java)
docker·windows10 专业版
hj28625118 小时前
Docker 核心知识点整理(网络 + Dockerfile + 原理 + 命令)
网络·docker·容器
梦想的颜色1 天前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
极客先躯1 天前
高级java每日一道面试题-2026年03月30日-实战篇[Docker]-如何监控容器的网络流量?
java·运维·docker·容器·prometheus·高级面试
大E帝国子民11 天前
Docker 部署 RocketMQ 5
docker·容器·rocketmq
江湖有缘1 天前
【保姆级教程】使用Docker Compose一键搭建Picsur私有图床服务
java·docker·容器