智慧水务管理系统 - 精河县供水工程综合管理平台

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. # ============================================================
  2. # 开发环境 Docker Compose — 仅基础设施
  3. # 用途: 本地开发时启动依赖服务,应用服务通过 IDE 本地运行
  4. # 启动: docker compose -f docker-compose.dev.yml up -d
  5. # ============================================================
  6. services:
  7. postgres:
  8. image: postgis/postgis:16-3.4
  9. container_name: wm-postgres-dev
  10. restart: unless-stopped
  11. environment:
  12. POSTGRES_DB: ${POSTGRES_DB:-water_management}
  13. POSTGRES_USER: ${POSTGRES_USER:-water}
  14. POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-water123}
  15. ports:
  16. - "5432:5432"
  17. volumes:
  18. - pgdata-dev:/var/lib/postgresql/data
  19. - ./sql:/docker-entrypoint-initdb.d:ro
  20. healthcheck:
  21. test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-water}"]
  22. interval: 10s
  23. timeout: 5s
  24. retries: 5
  25. redis:
  26. image: redis:7-alpine
  27. container_name: wm-redis-dev
  28. restart: unless-stopped
  29. ports:
  30. - "6379:6379"
  31. command: redis-server --requirepass ${REDIS_PASSWORD:-water123}
  32. volumes:
  33. - redisdata-dev:/data
  34. healthcheck:
  35. test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD:-water123}", "ping"]
  36. interval: 10s
  37. timeout: 3s
  38. retries: 5
  39. emqx:
  40. image: emqx/emqx:5.7.2
  41. container_name: wm-emqx-dev
  42. restart: unless-stopped
  43. ports:
  44. - "1883:1883"
  45. - "8083:8083"
  46. - "18083:18083"
  47. environment:
  48. EMQX_DASHBOARD__DEFAULT_USERNAME: admin
  49. EMQX_DASHBOARD__DEFAULT_PASSWORD: public
  50. volumes:
  51. - emqxdata-dev:/opt/emqx/data
  52. healthcheck:
  53. test: ["CMD", "emqx", "ping"]
  54. interval: 10s
  55. timeout: 5s
  56. retries: 5
  57. nacos:
  58. image: nacos/nacos-server:v2.3.2
  59. container_name: wm-nacos-dev
  60. restart: unless-stopped
  61. environment:
  62. MODE: standalone
  63. PREFER_HOST_MODE: hostname
  64. ports:
  65. - "8848:8848"
  66. - "9848:9848"
  67. volumes:
  68. - nacosdata-dev:/home/nacos/data
  69. healthcheck:
  70. test: ["CMD-SHELL", "curl -sf http://localhost:8848/nacos/v1/console/health/readiness"]
  71. interval: 15s
  72. timeout: 5s
  73. retries: 5
  74. minio:
  75. image: minio/minio:latest
  76. container_name: wm-minio-dev
  77. restart: unless-stopped
  78. ports:
  79. - "9000:9000"
  80. - "9001:9001"
  81. environment:
  82. MINIO_ROOT_USER: minioadmin
  83. MINIO_ROOT_PASSWORD: minioadmin
  84. volumes:
  85. - miniodata-dev:/data
  86. command: server /data --console-address ":9001"
  87. healthcheck:
  88. test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
  89. interval: 10s
  90. timeout: 5s
  91. retries: 5
  92. volumes:
  93. pgdata-dev:
  94. redisdata-dev:
  95. emqxdata-dev:
  96. nacosdata-dev:
  97. miniodata-dev: