当前位置: 首页 > news >正文

ubuntu 安装 milvus

docker 是 引擎,是底层的基础工具。它用于管理单个容器(Container)的生命周期(构建、运行、停止、删除)。

docker-compose 是 编排工具,是上层的操作界面。它用于定义和运行由多个容器组成的、相互关联的整套应用(Multi-Container Applications)。

特性维度Docker (CLI)Docker Compose
核心功能 管理单个容器和镜像 编排多个容器,定义一个完整的应用栈
操作对象 容器、镜像、网络、卷等 项目(Project),由 docker-compose.yml 文件定义
配置方式 通过一长串的命令行参数 (-p-v--env--link等) 通过一个 YAML 配置文件 (docker-compose.yml)
使用场景 适合运行单个容器、临时测试、学习命令 适合开发、测试、生产环境部署多服务应用(如Webapp + DB + Cache)
依赖关系 需要手动用 --link 或自定义网络处理容器间依赖和启动顺序 可以自动管理容器间的依赖、网络、启动顺序(depends_on
复杂度 命令冗长复杂,难以记忆和重复 配置清晰直观,易于版本管理和共享
可移植性 差,一长串命令不易在不同环境重现 极强,一个 docker-compose.yml 文件就能在任何有Docker和Compose的机器上完美重现环境

安装并启动docker:

sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker

验证:docker --version

 

安装docker-compose

sudo apt install -y docker-compose

验证:docker-compose --version

 

安装Python 3.7+(用于 Milvus Lite 和验证)

sudo apt install -y python3 python3-pip

验证:python3 --version(应显示 3.7 或更高)

 

Milvus 提供三种部署模式,适合不同场景:

Milvus Lite:像笔记本上的“迷你数据库”,通过 Python 库运行,无需额外服务器,适合快速学习和原型开发。
Milvus Standalone:单机“全能选手”,支持中等规模数据,适合开发、测试或小规模生产。
Milvus Distributed:分布式“超级舰队”,适合亿级向量和企业级场景。
对于 Milvus Standalone,我们将介绍两种安装方式:

Docker(Linux):通过单个容器快速启动,简单直接。
Docker Compose(Linux):通过配置文件管理 Milvus 及其依赖(etcd、MinIO),适合自定义配置。

安装方式一:Milvus Lite 

pip3 install -U pymilvus

验证安装:

from pymilvus import MilvusClient
client = MilvusClient("./milvus_demo.db")
print("Milvus Lite connected successfully!")
  • 成功后,当前目录生成 milvus_demo.db 文件,表示本地数据库已创建.

简单语义搜索验证:

from pymilvus import MilvusClient, CollectionSchema, FieldSchema, DataType
client = MilvusClient("./milvus_demo.db")
# 创建集合
schema = CollectionSchema(fields=[FieldSchema("id", DataType.INT64, is_primary=True, auto_id=True),FieldSchema("vector", DataType.FLOAT_VECTOR, dim=4)
])
client.create_collection("test_collection", schema)
# 插入数据
vectors = [[0.1, 0.2, 0.3, 0.4], [0.2, 0.3, 0.4, 0.5]]
client.insert("test_collection", {"vector": vectors})
# 插入数据
client.insert("test_collection", [{"vector": [0.1, 0.2, 0.3, 0.4]},{"vector": [0.2, 0.3, 0.4, 0.5]}])
index_params = MilvusClient.prepare_index_params()
index_params.add_index(field_name="vector",index_type="IVF_FLAT",index_name="ivf_flat_index",params={"nlist": 128}
)
# 创建索引
client.create_index(collection_name="test_collection",index_params=index_params
)
# 搜索
results = client.search("test_collection", data=[[0.1, 0.2, 0.3, 0.4]], limit=1)
print(f"Top result: ID {results[0][0]['id']}, Distance {results[0][0]['distance']}")
  • 优点:安装简单(一行 pip 命令),资源占用低,适合笔记本(4GB 内存即可)。
  • 局限性:不支持分布式部署,数据规模限于百万级,功能较 Standalone 少。

 

安装方式二:Milvus Standalone —— Docker

Milvus Standalone 通过单个 Docker 容器运行,快速部署单机环境(参考 Standalone Docker 文档)。它像一台“全能服务器”,整合 Milvus 和依赖(etcd、MinIO),适合中等规模数据。

检查 Docker:

docker --version
sudo service docker start

创建工作目录:

mkdir -p /home/milvus
cd /home/milvus

下载安装脚本:

curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/v2.5.11/scripts/standalone_embed.sh -o standalone_embed.sh
chmod +x standalone_embed.sh

启动 Milvus:

bash standalone_embed.sh start
  • 启动后,milvus-standalone 容器在 19530 端口运行,嵌入 etcd(2379 端口)。
  • 数据存储在 /home/milvus/volumes/milvus,配置文件为 embedEtcd.yaml.

验证安装:

docker ps

应看到 milvus-standalone 运行。

访问 WebUI:打开浏览器,输入 http://127.0.0.1:9091/webui/,检查界面是否加载。

测试 Python 连接:

pip3 install pymilvus==2.5.8from pymilvus import connections, utility
connections.connect(host="localhost", port="19530")
print(f"Milvus version: {utility.get_server_version()}")

停止和删除:

bash standalone_embed.sh stop
bash standalone_embed.sh delete

优点与局限性

  • 优点:部署快速(几分钟),支持数据持久化,适合开发测试。
  • 局限性:配置灵活性有限,不支持分布式扩展。
http://www.hskmm.com/?act=detail&tid=9667

相关文章:

  • 面向多模态检索的向量数据库对比分析和技术选型:Elasticsearch、Milvus、Pinecone、FAISS、Chroma、PGVector、Weaviate、Qdrant
  • 单词翻转
  • 终结AI幻觉:Amazon Bedrock如何用形式化方法重塑可信AI
  • 我代表编程导航,向大家道歉!
  • cf div2 1051 E(视角转换,构造+思维)
  • 从“被动监控”到“主动优化”:MyEMS 重构能源管理价值的路径
  • phoenix 导出sql执行结果到文件中
  • 论文解读-《Graph Retrieval-Augmented Generation A Survey》 - zhang
  • AI编程问题处理与传统网页搜索对比分析
  • APP 内测分发的核心逻辑与流程,虾分发让效率翻倍
  • WPF Canvas 网格线背景样式
  • C++ 最开始的地方
  • ClkLog埋点与用户行为分析系统:架构升级与性能全面提升
  • 常见开源安全工具列表
  • ARC187 做题记
  • SAP物料自动记账科目设置总结
  • SpringBoot启动流程
  • NVR设备ONVIF接入平台EasyCVR视频融合平台智慧小区视频监控一站式建设方案
  • 移远模组使用移远云平台对接指令
  • 解码C语言关键字
  • 接龙大师微信小程序管理系统:一站式社群信息收集与活动管理解决方案
  • Windows环境中安装Zookeeper
  • YOLOv7安全评估揭示11个漏洞:RCE攻击与模型差异风险
  • ​​电流探头选型技术指南:精准捕获电流信号的艺术​​
  • 读人形机器人16本地制造的环境和经济效益
  • 详细介绍:【卷积神经网络详解与实例】10——经典CNN之GoogLeNet
  • openEuler 24.03 (LTS-SP2)安装mysql 8.4.5(glib.2.17)
  • wso2~api的高级限流策略
  • openEuler安装mysql矩阵
  • 【转载】达梦数据库物理备份与逻辑备份的区别