简介
Milvus 是一款开源的向量数据库,专为 AI 应用中的向量相似性检索而设计。它支持多种向量索引类型(如 IVF_FLAT、HNSW、DiskANN),能够高效处理亿级向量的检索任务,广泛应用于图像识别、自然语言处理、推荐系统等场景。Milvus 采用存算分离架构,依赖 etcd 存储元数据、MinIO 存储数据文件。
先开科学,Ubuntu 可以直接访问 Win 的代理。
拉取镜像
1 2 3
| docker pull quay.io/coreos/etcd:v3.5.5 docker pull minio/minio:RELEASE.2023-03-20T20-16-18Z docker pull milvusdb/milvus:v2.3.12
|
docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| version: '3.5'
services: etcd: container_name: milvus-etcd image: quay.io/coreos/etcd:v3.5.5 restart: unless-stopped environment: ETCD_AUTO_COMPACTION_MODE: revision ETCD_AUTO_COMPACTION_RETENTION: '1000' ETCD_QUOTA_BACKEND_BYTES: '4294967296' ETCD_SNAPSHOT_COUNT: '50000' command: > etcd --advertise-client-urls=http://etcd:2379 --listen-client-urls=http://0.0.0.0:2379 --data-dir=/etcd volumes: - ./volumes/etcd:/etcd healthcheck: test: ['CMD', 'etcdctl', 'endpoint', 'health'] interval: 30s timeout: 20s retries: 3
minio: container_name: milvus-minio image: minio/minio:RELEASE.2023-03-20T20-16-18Z restart: unless-stopped environment: MINIO_ACCESS_KEY: minioadmin MINIO_SECRET_KEY: minioadmin command: > minio server /minio_data --console-address ":9001" volumes: - ./volumes/minio:/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.3.12 restart: unless-stopped command: ['milvus', 'run', 'standalone'] security_opt: - seccomp:unconfined environment: ETCD_ENDPOINTS: etcd:2379 MINIO_ADDRESS: minio:9000 MINIO_ACCESS_KEY: minioadmin MINIO_SECRET_KEY: minioadmin volumes: - ./volumes/milvus:/var/lib/milvus ports: - '19530:19530' - '9095:9091' depends_on: - etcd - minio healthcheck: test: ['CMD', 'curl', '-f', 'http://localhost:9091/healthz'] interval: 30s start_period: 90s timeout: 20s retries: 3
networks: default: name: milvus
|
启动服务
部署 Attu 管理工具
Attu 是 Milvus 的图形化管理工具,方便对 Milvus 进行可视化操作。
1 2 3 4 5 6 7
| docker run -d \ --name attu \ --restart unless-stopped \ --network milvus \ -p 19531:3000 \ -e MILVUS_URL=milvus-standalone:19530 \ zilliz/attu:v2.3.9
|
暴露端口:19530、19531、9095
参考文档
Milvus 官方文档