version: '3.8' services: # 交易系统Web应用 trading-web: build: . container_name: trading-ai-web ports: - "8080:8080" volumes: # 数据持久化 - ./data:/app/data # 配置文件 - ./config:/app/config # 日志文件 - ./logs:/app/logs environment: - FLASK_ENV=production - PYTHONPATH=/app restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/api/stats"] interval: 30s timeout: 10s retries: 3 start_period: 40s networks: - trading-network # 数据采集服务(可选) trading-collector: build: . container_name: trading-ai-collector volumes: - ./data:/app/data - ./config:/app/config - ./logs:/app/logs environment: - PYTHONPATH=/app # 运行数据采集脚本 command: python scripts/data_collector.py restart: unless-stopped depends_on: - trading-web networks: - trading-network # # Nginx反向代理(可选) # nginx: # image: nginx:alpine # container_name: trading-ai-nginx # ports: # - "80:80" # - "443:443" # volumes: # - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro # - ./nginx/ssl:/etc/nginx/ssl:ro # depends_on: # - trading-web # restart: unless-stopped # networks: # - trading-network # networks: # trading-network: # driver: bridge # volumes: # trading-data: # driver: local