文章目录
- 前言
-
- [Milvus docker-compose 部署](#Milvus docker-compose 部署)
-
- [1. 下载](#1. 下载)
- [2. 修改配置](#2. 修改配置)
- [3. 启动](#3. 启动)
- [4. 测试](#4. 测试)
前言
如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!
Milvus docker-compose 部署
适合开发测试,启动简单,整合 etcd、minio 等组件
1. 下载
下载:git clone https://github.com/milvus-io/milvus.git
并切换到最新的tag v2.6.0-rc1
2. 修改配置
进入下面文件夹中
python
cd deployments/docker/standalone

docker-compose.yml 包含完整 Milvus 核心服务 + etcd + minio。
整体结构:
bash
services:
etcd: # 元数据存储
minio: # 向量文件存储
standalone: # Milvus 向量服务主进程
修改docker-compose.yml配置:
bash
version: '3.5'
services:
etcd: # 元数据服务
container_name: milvus-etcd
image: quay.io/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:
- /f/soft/milvus/deployments/docker/standalone/etcd:/etcd # 持久化元数据到本地目录
command: etcd -advertise-client-urls=http://etcd: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: milvus-minio
image: minio/minio:RELEASE.2023-03-20T20-16-18Z
environment:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
ports:
- "9001:9001" # 控制台面板监听
- "9000:9000" # API 接口监听
volumes:
- /f/soft/milvus/deployments/docker/standalone/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
standalone: # Milvus 主程序
container_name: milvus-standalone
image: milvusdb/milvus:v2.5.13
command: ["milvus", "run", "standalone"]
security_opt:
- seccomp:unconfined
environment:
MINIO_REGION: us-east-1 # 保持默认即可
ETCD_ENDPOINTS: etcd:2379 # etcd 服务名 + 端口
MINIO_ADDRESS: minio:9000
MINIO_ACCESS_KEY: minioadmin # 推荐明确写出用户名(默认配置也是这个)
MINIO_SECRET_KEY: minioadmin # 推荐明确写出密码
volumes:
- /f/soft/milvus/deployments/docker/standalone/milvus:/var/lib/milvus
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
interval: 30s
start_period: 90s
timeout: 20s
retries: 3
ports:
- "19530:19530" # gRPC 接口(推荐 Java/Go/SDK 使用)
- "9091:9091" # HTTP REST 接口(用于健康检查等)
depends_on:
- "etcd"
- "minio"
networks:
default:
name: milvus
创建文件夹milvus、minio、etcd、作为持久化数据到本地的目录

3. 启动
通过docker-compose 启动:
bash
docker-compose up -d
第一次启动,会先下载镜像
docker ps 查看是否启动成功!
4. 测试
访问健康检查接口:
curl http://localhost:9091/healthz

验证成功,停止所有容器。
bash
docker-compose down -v
