docker-compose.yml 925 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. # 标注平台后端 Docker Compose 配置
  2. version: '3.8'
  3. services:
  4. backend:
  5. build:
  6. context: .
  7. dockerfile: Dockerfile
  8. container_name: lq-label-backend
  9. ports:
  10. - "8003:8000"
  11. volumes:
  12. # 挂载代码目录(代码更新无需重新构建镜像)
  13. - .:/app
  14. # 持久化数据库文件
  15. - ./data:/app/data
  16. # 挂载生产环境配置文件
  17. - ./config.prod.yaml:/app/config.prod.yaml:ro
  18. environment:
  19. - APP_ENV=prod
  20. - DATABASE_PATH=/app/data/annotation_platform.db
  21. restart: unless-stopped
  22. healthcheck:
  23. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
  24. interval: 30s
  25. timeout: 10s
  26. retries: 3
  27. start_period: 10s
  28. networks:
  29. - lq_network
  30. networks:
  31. lq_network:
  32. external: true
  33. # 数据卷定义
  34. volumes:
  35. backend-data:
  36. driver: local