docker-compose.dev.yml 940 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. version: '3.8'
  2. services:
  3. web:
  4. environment:
  5. - FLASK_DEBUG=true
  6. - DB_HOST=db
  7. - DB_USER=${DB_USER:-liaowang}
  8. - DB_PASSWORD=${DB_PASSWORD:-liaowang_secret}
  9. - DB_NAME=${DB_NAME:-liaowang_db}
  10. volumes:
  11. # 开发模式:挂载代码实现热重载
  12. - .:/app
  13. - /app/venv
  14. depends_on:
  15. db:
  16. condition: service_healthy
  17. # 开发模式不需要健康检查
  18. healthcheck:
  19. disable: true
  20. db:
  21. image: postgres:16-alpine
  22. container_name: liaowang-db
  23. environment:
  24. POSTGRES_DB: ${DB_NAME:-liaowang_db}
  25. POSTGRES_USER: ${DB_USER:-liaowang}
  26. POSTGRES_PASSWORD: ${DB_PASSWORD:-liaowang_secret}
  27. ports:
  28. - "5432:5432"
  29. volumes:
  30. - postgres_data:/var/lib/postgresql/data
  31. healthcheck:
  32. test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-liaowang}"]
  33. interval: 10s
  34. timeout: 5s
  35. retries: 5
  36. volumes:
  37. postgres_data: