# ======================================== # 服务器部署配置(单服务器 Phase 1) # 包含生产环境和测试环境(按需启停) # # 使用 host 网络模式,避免 Docker bridge 子网与 VPC 内网冲突 # # 用法: # 生产环境:docker compose up -d # 含测试: docker compose --profile test up -d # 停止测试:docker compose --profile test stop api-test # ======================================== services: # ===== 生产环境 ===== api-prod: build: context: . dockerfile: Dockerfile image: duoqi-api:prod container_name: duoqi-api-prod restart: unless-stopped network_mode: host env_file: .env.prod healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3000/v1/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s logging: driver: "json-file" options: max-size: "10m" max-file: "3" deploy: resources: limits: memory: 400M # ===== 测试环境(Docker profiles 按需启停) ===== api-test: build: context: . dockerfile: Dockerfile image: duoqi-api:test container_name: duoqi-api-test restart: "no" network_mode: host env_file: .env.test healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3001/v1/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s logging: driver: "json-file" options: max-size: "5m" max-file: "2" deploy: resources: limits: memory: 300M profiles: - test