Milvus向量数据库集群部署配置(含ETCD端口映射)
·
您是正确的,端口映射应该是 主机端口:容器端口 的格式。以下是修正后的完整 docker-compose.yml 文件,包含正确的 ETCD 端口映射和相应配置调整:
version: '3.5'
services:
milvus-etcd:
container_name: milvus-etcd
hostname: milvus-etcd
restart: always
image: oceanx/mirrored-coreos-etcd:v3.5.18
environment:
- ETCD_AUTO_COMPACTION_MODE=revision
- ETCD_AUTO_COMPACTION_RETENTION=1000
- ETCD_QUOTA_BACKEND_BYTES=4294967296
- ETCD_SNAPSHOT_COUNT=50000
volumes:
- /var/www/OceanXCommon/milvus-etcd:/etcd
ports:
- "12379:2379" # 主机12379映射到容器2379
- "12380:2380" # 主机12380映射到容器2380
command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
healthcheck:
test: ["CMD", "etcdctl", "endpoint", "health"]
interval: 30s
timeout: 20s
retries: 3
minio:
container_name: minio
image: oceanx/minio:RELEASE-2025-03-12-18-04-18
hostname: minio
restart: always
environment:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
ports:
- "9001:9001"
- "9000:9000"
volumes:
- /var/www/OceanXCommon/minio:/minio_data
command: minio server /minio_data --console-address ":9001"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
milvus-db:
container_name: milvus-db
image: oceanx/milvus:v2.5.7
hostname: milvus-db
restart: always
command: ["milvus", "run", "standalone"]
security_opt:
- seccomp:unconfined
environment:
ETCD_ENDPOINTS: milvus-etcd:2379 # 容器间通信使用容器原生端口
MINIO_ADDRESS: minio:9000
volumes:
- /var/www/OceanXCommon/milvus-db:/var/lib/milvus
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
interval: 30s
start_period: 90s
timeout: 20s
retries: 3
ports:
- "19530:19530"
- "9091:9091"
depends_on:
- "milvus-etcd"
- "minio"
networks:
default:
name: milvus
关键修正说明:
- 端口映射:调整为
"12379:2379"和"12380:2380"(主机端口:容器端口) - ETCD配置:
command保持使用容器原生端口2379/2380ETCD_ENDPOINTS保持milvus-etcd:2379(容器间通信)
- 访问方式:
- 外部访问ETCD:
localhost:12379 - 容器内部访问ETCD:
milvus-etcd:2379
- 外部访问ETCD:
这样配置后,所有组件都能正确通信且端口映射清晰。
更多推荐
所有评论(0)