I start Milvus using docker-compose and this file. All three of the components (minio, etcd, and milvus standalone) start just fine and are running.
I am also able to connect to the Milvus container from my desktop using “localhost” and the Milvus CLI tool for Mac. However, when I try to connect to the Milvus container from another container inside docker (using the same docker network), I get the following error.
FWIW, I can ping the Milvus container from the other container, and nslookup milvus-standalone returns the correct IP address in the docker network
java.lang.RuntimeException: Failed to initialize connection. Error: DEADLINE_EXCEEDED: deadline exceeded after 9.845632375s. [closed=[], open=[[wait_for_ready, buffered_nanos=9847330880, waiting_for_connection]]]
at io.milvus.client.MilvusServiceClient.<init>(MilvusServiceClient.java:154) ~[?:?]
at dev.langchain4j.store.embedding.milvus.MilvusEmbeddingStore.<init>(MilvusEmbeddingStore.java:102) ~[?:?]
services:
etcd:
container_name: milvus-etcd
image: quay.io/coreos/etcd:v3.5.0
platform: linux/amd64
environment:
- ETCD_AUTO_COMPACTION_MODE=revision
- ETCD_AUTO_COMPACTION_RETENTION=1000
- ETCD_QUOTA_BACKEND_BYTES=4294967296
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
minio:
container_name: milvus-minio
image: minio/minio:RELEASE.2020-12-03T00-03-10Z
platform: linux/amd64
environment:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data
command: minio server /minio_data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
standalone:
container_name: milvus-standalone
image: milvusdb/milvus:v2.4.1
platform: linux/amd64
deploy:
resources:
limits:
cpus: '4'
memory: 8G
reservations:
cpus: '2'
memory: 4G
command: ["milvus", "run", "standalone"]
environment:
ETCD_ENDPOINTS: etcd:2379
MINIO_ADDRESS: minio:9000
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus
ports:
- "19530:19530"
- "9091:9091"
depends_on:
- "etcd"
- "minio"
networks:
default:
name: gen-ai-demo
Any suggestions on solving this? Thank you for any help in advance.