version: '3'

services:
  nextjs:
    build:
      context: .
      dockerfile: Dockerfile.dev  # 使用专门为开发环境创建的 Dockerfile
    ports:
      - "3000:3000"
    environment:
      - MONGODB_URI=mongodb://mongodb:27017/mydatabase
      - NODE_ENV=development
    volumes:
      - .:/app  # 挂载当前目录到容器的 /app 目录
      - /app/node_modules  # 排除 node_modules 目录
    command: yarn dev  # 使用开发模式启动 Next.js
    depends_on:
      - mongodb

  mongodb:
    image: mongo
    ports:
      - "27017:27017"  # 暴露 MongoDB 端口到主机,方便直接连接
    volumes:
      - mongodb_data:/data/db

volumes:
  mongodb_data: