Milvus 是"专业分工的分布式系统",必须有元数据服务(etcd)和对象存储(MinIO)才能正常工作,所以 Milvus 需要使用 Docker-Compose 部署,而不是像 MySQL 那样启动一个容器就行了。
官方推荐的 Docker Compose 部署通常包含三个服务:
- Milvus 核心引擎(standalone)
负责向量索引构建、相似度搜索、查询协调等核心逻辑
本身不负责持久化存储数据
- etcd(元数据存储 + 服务协调)
存储 Collection 结构、索引信息、节点状态等元数据
负责服务发现和健康检查
要求高可用、强一致性,所以用 etcd 而不是自己实现
- MinIO(对象存储)
真正存放向量数据、索引文件、日志快照的地方
相当于 Milvus 的"硬盘"
支持后期换成 AWS S3、阿里云 OSS 等云存储
安装 Docker-compse
检测是否安装了 Docker-compsoe:
shell
docker compose version
安装 Milvus
打开 https://github.com/milvus-io/milvus/releases,找到自己想要安装的那个版本的 Milvus,assets 中包含了对应的 docker-compse yml 文件,复制 yml 的链接。

这里以 3.0.0 为示例。
下载 3.0.0 的 docker-compse yml 文件:
shell
sudo wget https://github.com/milvus-io/milvus/releases/download/v3.0.0/milvus-standalone-docker-compose.yml -O milvus-3.0.0-docker-compose.yml
也可以手动下载并上传到服务器
在配置文件同级目录下执行后台启动命令启动:
shell
docker compose -f milvus-3.0.0-docker-compose.yml up -d
docker compose -f milvus-3.0.0-docker-compose.yml down 可以关闭所有通过这个 docker compse yml 文件拉起的容器,不会删除数据。
docker compose -f milvus-3.0.0-docker-compose.yml down -v 可以完全清除。
启动后,可以使用以下命令查看运行中的容器群:
shell
docker compose ps
您会看到至少有 3 个容器 处于运行状态(Up / Healthy):
- milvus-standalone:核心向量数据库引擎,对外暴露 19530 (gRPC 客户端) 和 9091 (Web 管理端口)。
- milvus-etcd:负责元数据管理与协调。
- milvus-minio:负责存储实际的数据块与索引。
访问服务器的 9091 端口,可以看到 milvus 的 web 页面,我这里是 http://node5:9091/webui/:
