version: '3.8' services: dms-compliance-tool: build: context: . dockerfile: docker/Dockerfile.service container_name: dms-compliance-tool ports: - "5050:5050" # API服务器端口 - "5051:5051" # 历史查看器端口 volumes: # 持久化测试报告 - ./test_reports:/app/test_reports # 持久化上传文件 - ./uploads:/app/uploads # 持久化日志 - ./logs:/app/logs # 如果需要自定义配置文件 - ./config:/app/config:ro environment: - FLASK_ENV=production - PYTHONUNBUFFERED=1 - TZ=Asia/Shanghai restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:5050/"] interval: 30s timeout: 10s retries: 3 start_period: 40s networks: - dms-network # 可选:添加一个nginx反向代理 nginx: image: nginx:alpine container_name: dms-nginx ports: - "80:80" - "443:443" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./nginx/ssl:/etc/nginx/ssl:ro depends_on: - dms-compliance-tool restart: unless-stopped networks: - dms-network profiles: - with-nginx networks: dms-network: driver: bridge volumes: test_reports: uploads: logs: