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

Windows 系统下使用 Docker 安装 Milvus 向量数据库

引路者👇:

引言

一、Docker 简介

Docker 的基本操作

二、安装 Milvus

安装步骤

Milvus 架构图

三、使用 Milvus

四、总结


引言

        在数据分析和机器学习领域,Milvus 作为一款高性能的向量数据库,正变得越来越受欢迎。它能够高效地处理海量向量数据,支持复杂的相似性搜索,广泛应用于推荐系统、图像识别和自然语言处理等领域。在 Windows 系统上,借助 Docker,我们可以轻松地部署和管理 Milvus,无需担心复杂的依赖问题。本文将详细介绍如何在 Windows 系统上使用 Docker 安装 Milvus 向量数据库,包括 Docker 的基本使用方法和 Milvus 的部署步骤。

一、Docker 简介

        Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个可移植的容器中,然后发布到任何支持 Docker 的平台上。Docker 容器与虚拟机相比,具有启动速度快、资源占用少等优点。

Docker 的基本操作

  1. 安装 Docker Desktop

    • 访问 https://www.docker.com/products/docker-desktop 下载 Docker Desktop。

    • 安装过程中,建议选择使用 WSL 2(Windows Subsystem for Linux 2)作为后端,因为它比 Hyper-V 提供更好的性能和兼容性。

    • 安装完成后,重启计算机以完成安装。

  2. 基本命令

    • 查看 Docker 版本docker --versiondocker-compose --version

    • 查看当前运行的容器docker ps

    • 启动/停止容器docker start <container_id>docker stop <container_id>

    • 删除容器docker rm <container_id>

    • 构建镜像docker build -t <image_name> .

    • 运行容器docker run -d -p <host_port>:<container_port> <image_name>

二、安装 Milvus

Milvus 是一个开源的向量数据库,专为处理海量向量数据而设计。它支持多种数据类型和索引结构,能够高效地进行相似性搜索。

安装步骤

  1. 创建文件夹和配置文件

    • 创建一个名为 milvus 的文件夹,并在其中创建以下文件和文件夹结构:

      milvus/
      ├── volumes/
      │   ├── etcd/
      │   ├── minio/
      │   └── milvus/
      └── docker-compose.yml
    • 编辑 docker-compose.yml 文件,内容如下:

version: '3.5'
services:etcd:container_name: milvus-etcdimage: quay.io/coreos/etcd:v3.5.5environment:- ETCD_AUTO_COMPACTION_MODE=revision- ETCD_AUTO_COMPACTION_RETENTION=1000- ETCD_QUOTA_BACKEND_BYTES=4294967296- ETCD_SNAPSHOT_COUNT=50000volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcdcommand: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcdhealthcheck:test: ["CMD", "etcdctl", "endpoint", "health"]interval: 30stimeout: 20sretries: 3minio:container_name: milvus-minioimage: minio/minio:RELEASE.2023-03-20T20-16-18Zenvironment:MINIO_ACCESS_KEY: minioadminMINIO_SECRET_KEY: minioadminports:- "9001:9001"- "9000:9000"volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_datacommand: minio server /minio_data --console-address ":9001"healthcheck:test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]interval: 30stimeout: 20sretries: 3standalone:container_name: milvus-standaloneimage: milvusdb/milvus:v2.3.10command: ["milvus", "run", "standalone"]security_opt:- seccomp:unconfinedenvironment:ETCD_ENDPOINTS: etcd:2379MINIO_ADDRESS: minio:9000volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvushealthcheck:test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]interval: 30sstart_period: 90stimeout: 20sretries: 3ports:- "19530:19530"- "9091:9091"depends_on:- etcd- minioattu:container_name: attuimage: zilliz/attu:v2.3.10environment:MILVUS_URL: standalone:19530ports:- "8000:3000"depends_on:- standalone
  1. 运行 Docker Compose

    • 打开命令提示符,切换到 milvus 文件夹目录。

    • 运行以下命令启动 Milvus 服务

      docker-compose up -d
    • 如果出现端口冲突错误,需要修改 docker-compose.yml 文件中的端口配置,确保端口未被占用。

  2. 验证 Milvus 是否成功启动

    • 打开浏览器,访问 http://127.0.0.1:8000,如果看到 Milvus 的管理界面,说明安装成功。

Milvus 架构图

三、使用 Milvus

        Milvus 提供了丰富的 API 和 SDK,支持 Python、Java、Go 等多种编程语言。以下是使用 Python SDK 连接 Milvus 的示例代码:

from pymilvus import connections, Collection, FieldSchema, CollectionSchema, DataType# 连接到 Milvus 服务
connections.connect("default", host="127.0.0.1", port="19530")# 定义集合结构
fields = [FieldSchema(name="id", dtype=DataType.INT64, is_primary=True),FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128)
]
schema = CollectionSchema(fields, description="example collection")# 创建集合
collection_name = "example_collection"
collection = Collection(name=collection_name, schema=schema)# 插入数据
data = [[i for i in range(10)],[[float(i) for _ in range(128)] for i in range(10)]
]
collection.insert(data)# 创建索引
index_params = {"metric_type": "L2","index_type": "IVF_FLAT","params": {"nlist": 10}
}
collection.create_index(field_name="embedding", index_params=index_params)# 进行相似性搜索
search_params = {"metric_type": "L2", "params": {"nprobe": 10}}
result = collection.search(data=[[float(i) for i in range(128)]],anns_field="embedding",param=search_params,limit=3,expr=None
)
print(result)

四、总结

        通过 Docker,我们可以在 Windows 系统上轻松地安装和运行 Milvus 向量数据库。Docker 的容器化技术使得 Milvus 的部署变得简单快捷,同时也方便了后续的维护和升级。Milvus 提供了强大的向量数据处理能力,能够满足各种复杂的应用场景需求。希望本文的介绍能够帮助你快速上手 Milvus,并在实际项目中发挥其强大的功能。

如果实践操作中遇到其他问题,也可以在评论区留言,Fly帮你在线答疑!!!

http://www.dtcms.com/a/512059.html

相关文章:

  • 【TDengine TSDB】使用DBeaver客户端访问
  • Dockerfile及其部署镜像步骤
  • 建设部网站资质标准昌平电子网站建设
  • 大模型-7种大模型微调方法 上
  • (三).Net, NextJS(NextJs初始化/图片闪烁/定义types/分页/过滤/)
  • 中国建设银行网站密码忘了怎么办企业网站设计策划
  • 【JavaScript】every 方法的详解与实战
  • QML学习笔记(四十五)QML与C++交互:信号槽的双向实现
  • 【JavaWeb|第二篇】SpringBoot篇
  • 手机做网站过程广州网站开发设计
  • 惠州百优做网站小程序熊掌号网站改版提案
  • 设计基于LLM的MCP工具:智能工具选择与DAG执行流程
  • 第三方软件课题结题验收测试机构【使用JMeter的Web应用负载测试】
  • 网站建设时间进度表模板wordpress批量修改链接
  • 如何做视频网站赚钱孙俪做的网站广告
  • 华为od-22届考研-测试面经
  • 深度学习卷积层
  • 网页设计模板图片素材下载重庆公司seo
  • 网站先做移动站在做pc站可行吗工程服务建设网站
  • C++第十三篇:继承
  • GD32F407VE天空星开发板SPI配置详解
  • 公司网站建设优帮云企业网站建设需注意什么
  • 垂直原理:宇宙的沉默法则与万物运动的终极源头
  • 如何在没有 iCloud 的情况下备份 iPhone
  • 江苏专业网站建设ps软件手机版
  • 番禺制作网站平台女孩学电子商务专业好就业吗
  • 自动点焊机——为电动自行车打造稳定动力
  • 栈与队列:数据结构中的双雄对决
  • Jenkins 安装,自动化全方位详解文档
  • 第八节_PySide6基本窗口控件_按钮类控件(QAbstractButton)