ubuntu 安装 milvus/attu

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 curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/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镜像失败,可参考 https://blog.csdn.net/weixin_73141818/article/details/145450689,配置docker新的镜像源

验证安装:

docker ps

应看到 milvus-standalone 运行。

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

测试 Python 连接:

pip3 install pymilvus==2.5.8

from 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

优点与局限性

  • 优点:部署快速(几分钟),支持数据持久化,适合开发测试。
  • 局限性:配置灵活性有限,不支持分布式扩展。

 

安装完后,如果想修改配置可以先拉取milvus内部配置文件 wget https://raw.githubusercontent.com/milvus-io/milvus/v2.6.0/configs/milvus.yaml

将要修改的部分,复制到目录下的当前文件夹下user.yaml中的

再按如下步骤重启服务:

bash standalone_embed.sh restart

 

milvus官方教程:https://milvus.io/docs/zh/install_standalone-docker.md

 

安装Attu

使用Docker安装Attu

Attu是Milvus的可视化工具,可以通过Docker安装。以下是安装步骤:

docker run -d --restart=always -p 8000:3000 -e MILVUS_URL=http://your_milvus_server_ip:19530 zilliz/attu:latest

请将your_milvus_server_ip替换为您的Milvus服务器IP地址。然后,打开浏览器访问http://localhost:8000,即可看到Attu的登录界面。

posted @ 2025-09-19 15:01  wangssd  阅读(163)  评论(0)    收藏  举报