Docker安装Milvus的实现步骤
作者:流水若轩
使用 Docker 安装 Milvus(向量数据库)最推荐的方式是使用 Docker Compose,因为 Milvus 依赖多个组件(如 Etcd、MinIO 等)协同工作。
以下是基于官方最新文档整理的 Milvus standalone(单机版) 安装步骤,适用于 Linux、macOS 以及安装了 WSL2 的 Windows 环境。
1. 前置条件
- Docker: 版本 20.10.0 或更高。
- Docker Compose: 版本 2.0.0 或更高。
- 内存: 建议至少分配 4GB 以上内存给 Docker。
- 注意:如果在 macOS 或 Windows 上使用 Docker Desktop,请确保在设置中增加了容器的内存限制。
2. 下载配置文件
Milvus 官方提供了一个 docker-compose.yml 文件来编排所有必要的服务。
创建一个目录并进入:
下载最新的 docker-compose.yml 和 .env 文件(以 v2.4.x 或最新版为例,具体版本号可根据需求调整):
1# 下载 docker-compose.yml wget https://github.com/milvus-io/milvus/releases/download/v2.4.8/milvus-standalone-docker-compose.yml -O docker-compose.yml 2# 下载 .env 配置文件 (可选,但推荐,用于配置版本号和存储路径) wget https://github.com/milvus-io/milvus/releases/download/v2.4.8/.env -O .env
(注:如果无法使用 wget,可以直接访问 GitHub release 页面手动下载,或者使用 curl)
3. 启动 Milvus
在包含 docker-compose.yml 的目录下运行以下命令:
docker compose up -d
-d表示后台运行。- 首次运行时,Docker 会自动拉取
milvusdb/milvus、quay.io/coreos/etcd和minio/minio等镜像,可能需要几分钟。
4. 验证安装
等待约 1-2 分钟让服务完全启动,然后检查容器状态:
docker compose ps
所有服务的状态应显示为 Up 或 healthy。
你也可以查看日志确认没有报错:
docker compose logs -f
按 Ctrl+C 退出日志查看。
5. 连接测试
Milvus 默认监听端口 19530。你可以使用 Python SDK (pymilvus) 进行连接测试。
首先安装 SDK:
pip install pymilvus
创建一个测试脚本 test_milvus.py:
from pymilvus import connections, utility
# 连接 Milvus
4connections.connect("default", host="localhost", port="19530")
# 检查连接并获取版本
if utility.has_collection("non_existent_collection"): # 仅测试连接
print("Connected successfully!")
else:
print("Connected successfully! (Collection check passed)")
print(f"Milvus version: {utility.get_version()}")运行脚本:
python test_milvus.py
如果输出连接成功及版本号,说明安装完成。
6. 常用管理命令
停止 Milvus:bash
docker compose down
重启 Milvus:bash
docker compose restart
清理数据 (慎用):
如果需要重置数据,需删除挂载的 volumes 目录(通常在当前目录下的 volumes 文件夹),然后重新 up。bash
docker compose down -v # -v 会删除卷,数据将丢失
常见问题与注意事项
端口冲突: 默认使用 19530 (API), 9091 (Metrics), 2379 (Etcd), 9000 (MinIO)。如果端口被占用,请编辑 docker-compose.yml 修改映射端口。
WSL2 (Windows): 确保 WSL2 后端已启用,且 Docker Desktop 设置为使用 WSL2 引擎。
GPU 支持: 如果需要 GPU 加速版本,需要下载带有 gpu 标签的 docker-compose 文件,并确保宿主机安装了 NVIDIA Container Toolkit。
Attu (可视化管理工具): 如果需要图形化界面,可以单独部署 Attu 容器:bash
docker run -d --name attu --network milvus-milvus -p 3000:3000 -e MILVUS_URL=http://milvus:19530 zilliz/attu
(注意:network 名称需与你实际 docker compose 生成的网络名称一致,通常是 项目名_default 或 项目名-milvus)
到此这篇关于Docker安装Milvus的实现步骤的文章就介绍到这了,更多相关Docker安装Milvus内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
