Docker Compose 部署 Yapi(连接本地MongoDB)

Docker Compose 部署 Yapi(连接本地MongoDB)

我给你准备了直接可用 的 docker-compose.yml 配置,完全适配你本地的 MongoDB 环境:

  • 本地MongoDB端口:27017
  • 账号:admin
  • 密码:admin123456
  • 已配置外部访问权限

一、核心说明

  1. host.docker.internal :Docker 容器访问本地主机的固定地址(Windows/Mac 自动生效,Linux 需手动替换)
  2. Yapi 默认管理员账号:admin@admin.com,密码:ymfe.org(部署后可修改)
  3. 对外端口:3000,访问地址:http://localhost:3000

二、完整 docker-compose.yml

新建一个空文件夹,在里面创建 docker-compose.yml,复制以下内容:

yaml 复制代码
services:
  yapi:
    image: yapipro/yapi:latest
    container_name: yapi
    restart: always
    ports:
      - "3000:3000"
    environment:
      # 数据库配置(连接本地MongoDB)
      - DB_SERVER=host.docker.internal
      - DB_PORT=27017
      - DB_NAME=yapi
      - DB_USER=admin
      - DB_PASS=admin123456
      # Yapi 管理员账号
      - YAPI_ADMIN_ACCOUNT=admin@admin.com
      - YAPI_ADMIN_PASSWORD=ymfe.org
      # 关闭注册(可选,开启则注释掉)
      - YAPI_CLOSE_REGISTER=true
    depends_on:
      # 依赖本地MongoDB,无需启动容器版Mongo
      - wait-for-mongo

  # 等待本地MongoDB就绪后再启动Yapi
  wait-for-mongo:
    image: waisbrot/wait-for
    container_name: wait-for-mongo
    command: host.docker.internal:27017 -t 30

三、Linux 系统特殊修改

如果你是 Linux 系统 ,必须把配置里的 host.docker.internal 替换为本地真实IP (例如 192.168.1.100):

yaml 复制代码
# Linux 替换后
- DB_SERVER=192.168.1.100  # 你的本机局域网IP

查看本机IP命令:

bash 复制代码
ip addr

四、一键启动命令

在 docker-compose.yml 所在目录执行:

bash 复制代码
# 后台启动
docker compose up -d

# 查看启动日志(确认是否成功)
docker compose logs -f yapi

看到如下日志代表启动成功:

复制代码
log: 服务启动中, 本次启动端口:3000
log: 初始化管理员账号成功...
log: 启动完成!

五、访问与使用

  1. 访问地址:http://localhost:3000
  2. 管理员账号:admin@admin.com
  3. 管理员密码:ymfe.org

六、常见问题排查

1. 连接不上本地MongoDB

  • 确认 MongoDB 配置文件 mongod.conf 中:

    yaml 复制代码
    net:
      bindIp: 0.0.0.0  # 允许所有IP访问
  • 重启 MongoDB 服务

  • 确认防火墙放行 27017 端口

2. 账号密码认证失败

  • 确认 MongoDB 中 admin 用户拥有 yapi 库的读写权限

  • 执行命令(进入Mongo shell):

    bash 复制代码
    use admin
    db.auth("admin","admin123456")
    use yapi
    db.createUser({user:"admin",pwd:"admin123456",roles:["readWrite"]})

3. 停止/卸载 Yapi

bash 复制代码
# 停止
docker compose down

# 彻底删除(保留数据)
docker compose down -v

总结

  1. 配置已适配你本地 MongoDB(账号admin/密码admin123456/端口27017)
  2. Windows/Mac 直接用,Linux 需改成本机IP
  3. 一键启动:docker compose up -d
  4. 访问地址:http://localhost:3000
相关推荐
说实话起个名字真难啊3 小时前
实战docker部署dify及注意点
运维·docker·容器
Starry-sky(jing)7 小时前
crane 下载镜像:不连接 Docker,3 步准备并校验 ARM64 离线包
运维·docker·arm64·crane
对象存储与RustFS8 小时前
GPU 在空转等数据?PyTorch 训练集进 RustFS 的三种接法
后端·docker·云原生
可涵不会debug11 小时前
超级马里奥常驻极空间以后怎么打开?Docker运行游戏页面,手机电脑都能从浏览器进入
游戏·docker·智能手机
编码追梦人11 小时前
基于 ESP32-S3 的便携式多参数环境监护仪设计:从硬件选型到 FreeRTOS 多任务落地
数据库·单片机·嵌入式硬件·mongodb·esp32·freertos·低功耗设计
姜鱼问生1 天前
网页一片白?Docker 跑 Nginx 读不到文件,403 Forbidden 排查实录
nginx·docker·容器
ms72wx1 天前
Docker 命令学习笔记:从入门到进阶的实战指南
笔记·学习·docker
java_logo1 天前
Docker 部署 Excalidraw:轻松搭建手绘风格白板
运维·docker·容器·excalidraw·白板·轩辕镜像
海的透彻1 天前
如何让docker容器启动时用自定义的用户
java·docker·dubbo
程序员清风1 天前
LibreChat 实战:用 Docker 搭建可扩展的多模型对话平台
运维·docker·容器