milvus-gpu.yml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. milvus:
  2. image: milvusdb/milvus:v2.6.11-gpu
  3. command: ["milvus", "run", "standalone"]
  4. security_opt:
  5. - seccomp:unconfined
  6. environment:
  7. ETCD_ENDPOINTS: milvus-etcd:2379
  8. MINIO_ADDRESS: milvus-minio:9000
  9. MINIO_ACCESS_KEY_ID: "${MINIO_ACCESS_KEY_ID:?missing}"
  10. MINIO_SECRET_ACCESS_KEY: "${MINIO_SECRET_ACCESS_KEY:?missing}"
  11. ports:
  12. - "19530:19530"
  13. - "9091:9091"
  14. volumes:
  15. - milvus_data:/var/lib/milvus
  16. deploy:
  17. resources:
  18. reservations:
  19. devices:
  20. - driver: nvidia
  21. capabilities: ["gpu"]
  22. healthcheck:
  23. test:
  24. - CMD-SHELL
  25. - 'PORT_HEX="$(printf ''%04X'' 19530)"; cat /proc/net/tcp /proc/net/tcp6 2>/dev/null | grep -q ":$${PORT_HEX} "'
  26. interval: 5s
  27. timeout: 3s
  28. retries: 20
  29. start_period: 10s
  30. depends_on:
  31. milvus-etcd:
  32. condition: service_healthy
  33. milvus-minio:
  34. condition: service_healthy
  35. restart: unless-stopped
  36. milvus-etcd:
  37. image: quay.io/coreos/etcd:v3.5.25
  38. environment:
  39. ETCD_AUTO_COMPACTION_MODE: revision
  40. ETCD_AUTO_COMPACTION_RETENTION: "1000"
  41. ETCD_QUOTA_BACKEND_BYTES: "4294967296"
  42. ETCD_SNAPSHOT_COUNT: "50000"
  43. volumes:
  44. - milvus-etcd_data:/etcd
  45. command: >
  46. etcd
  47. -advertise-client-urls=http://0.0.0.0:2379
  48. -listen-client-urls=http://0.0.0.0:2379
  49. -data-dir /etcd
  50. healthcheck:
  51. test: ["CMD", "etcdctl", "endpoint", "health"]
  52. interval: 30s
  53. timeout: 20s
  54. retries: 3
  55. stop_grace_period: 30s
  56. restart: unless-stopped
  57. milvus-minio:
  58. image: minio/minio:RELEASE.2025-09-07T16-13-09Z
  59. environment:
  60. MINIO_ROOT_USER: "${MINIO_ACCESS_KEY_ID:?missing}"
  61. MINIO_ROOT_PASSWORD: "${MINIO_SECRET_ACCESS_KEY:?missing}"
  62. volumes:
  63. - milvus-minio_data:/minio_data
  64. command: minio server /minio_data --console-address ":9001"
  65. healthcheck:
  66. test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
  67. interval: 30s
  68. timeout: 20s
  69. retries: 3
  70. stop_grace_period: 30s
  71. restart: unless-stopped