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

基于Docker Desktop和Windows的Milvus本地部署教程

前言

随着人工智能与大数据应用的快速发展,向量数据库在图像检索、语义搜索、推荐系统等场景中发挥着越来越重要的作用。Milvus 作为当前最流行的开源向量数据库之一,能够高效地存储、索引和检索海量向量数据,并且具备良好的可扩展性与生态支持。

对于希望在个人电脑上进行实验与开发的研究人员和开发者来说,本地快速搭建一个可用的 Milvus 环境至关重要。在 Windows 平台上,借助 Docker Desktop 可以轻松地运行 Milvus 的官方容器镜像,避免了复杂的环境依赖问题,同时保持与生产环境一致的运行方式。

本教程将详细介绍如何在 Windows + Docker Desktop 环境下部署 Milvus Standalone,并演示如何通过 Python SDK 进行连接与测试。教程目标是让读者能够在本地完成从 环境准备 → 服务启动 → SDK 连接 → 简单向量操作 的完整流程,为后续的算法研究与系统开发打下坚实基础。

1.下载Docker Desktop

Docker: Accelerated Container Application Development

点击以上链接进入docker官网,选择AMD64版本进行下载

2.安装Docker Desktop

在下载路径找到安装包:

点击后直接ok即可,安装完成后重启电脑。

3.安装WSL(必须)

正常来讲,安装docker desktop会触发WSL自动安装的命令行窗口,但是由于很多种原因,会导致自动安装失败,因此我们选择手动安装:

https://github.com/microsoft/WSL/releases

点击上述链接进入WSL的版本发布网页,并找到x86版本进行下载。

找到下载好的msi文件,点击自动进行安装:

安装好后重启docker。

4.下载Docker Desktop汉化包(非必须)

https://github.com/asxez/DockerDesktop-CN/releases

点击上述链接,进入汉化包版本发布界面,选择Windows版本:

下载好后,将文件名重命名为app.asar

进入Docker Desktop安装路径,默认为:

C:\Program Files\Docker\Docker\frontend\resources

将改好的文件替换掉app.asar,此图中是保留原先的app.asar为app_old.asar

5.部署Milvus Standalone版

建立一个自己准备存储数据的文件夹,本文示例为:

E:\Milvus_data

管理员身份打开Windows power shell(必须是power shell,否则命令不同)

执行以下代码,为Milvus创建配置文件:

E:
cd E:\Milvus_data
Invoke-WebRequest https://github.com/milvus-io/milvus/releases/download/v2.6.0/milvus-standalone-docker-compose.yml -OutFile docker-compose.yml

执行以下代码,使用docker创建数据库:

docker compose up -d

等待内容下载完成后,docker desktop上会显示我们的数据库服务器:

6.测试Milvus

点击启动数据库服务器:

http://localhost:9091/healthz
复制以上链接用浏览器打开,查看数据库是否正常运行(健康性)

使用python进行连接测试):

在python环境中安装milvus支持包

pip install pymilvus
from pymilvus import connections, utility# 连接到 Milvus
connections.connect(host="127.0.0.1", port="19530")# 列出所有集合
print("All collections:", utility.list_collections())

如果没有报错,会输出集合为:[] ,也就是空的,说明可以访问和操作。

7.同局域网访问Milvus

在Windows power shell 输入:

ipconfig

找到路由器分配的IPv4地址,注意必须是 以太网适配器 中的IPv4地址

将此地址复制,录入脚本:

from pymilvus import connections, utility# 把 host 改成宿主机的局域网 IP
connections.connect(host="10.105.8.11", port="19530")print("Collections:", utility.list_collections())

注意放行端口才能提供外部访问:

netsh advfirewall firewall add rule name="Milvus gRPC" dir=in action=allow protocol=TCP localport=19530
netsh advfirewall firewall add rule name="Milvus HTTP" dir=in action=allow protocol=TCP localport=9091

运行效果同本地运行一样,但是这种方法支持局域网其他电脑访问本地的Milvus服务器(前提是docker desktop里面要保持Milvus的运行

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

相关文章:

  • 【Kubernetes】-- Gonzo 之 Go 基于 TUI 的日志分析工具
  • 无人驾驶技术:智能决策与精准执行的融合
  • YOLO11 改进、魔改|RFA(Receptive Field Aggregator)通过分层聚合多尺度感受野,提高多尺度目标检测能力
  • 【人工智能99问】QWen中的动态RoPE与LLaMA中的RoPE有什么区别?(40/99)
  • Function Calling:让语言模型调用外部功能
  • UI动画设计基础:提升用户体验的动效设计技巧
  • 业务视角下的主机维护模式:三重自动化,提升运维效率与业务连续性
  • 前端CSP(内容安全策略):防范XSS攻击的配置指南
  • Python基于SnowNLP与ARIMA的微博舆情分析系统 Django+Echarts可视化(建议收藏)✅
  • 1.Rotation用于3D翻转旋转
  • vue3学习日记(十八):状态管理
  • react+antdesign实现后台管理系统面包屑
  • Day02【哔哩哔哩2023校园招聘后端开发方向笔试卷B】螺旋输出矩阵
  • 硬件开发_基于STM32单片机的家养绿植生长健康管理系统
  • 安装Node.js与NPM包管理器
  • 【数据结构】深入浅出图论:拓扑排序算法全面解析与应用实践
  • 全矩阵布局+硬核技术,中资机器人管家重塑智能服务新格局
  • Linux进程间通信(IPC)完全指南:从管道到共享内存的系统性学习
  • vllm安装使用及问题
  • redis配置与优化(2)
  • 苹果开发者账号( Apple Developer)登录出现:你的 Apple ID 暂时不符合使用此应用程序的条件(您的apple账户不符合资格)
  • Git常用命令和分支管理
  • AI报告撰写实战指南:从提示词工程到全流程优化的底层逻辑与实践突破
  • 主流数据库压测工具全解析(从工具选型到实战压测步骤)
  • Vue的理解与应用
  • TDMQ CKafka 版客户端实战指南系列之一:生产最佳实践
  • 苹果群控系统的资源调度
  • Qt如何实现自定义标题栏
  • Qt QPlugin界面插件式开发Q_DECLARE_INTERFACE、Q_PLUGIN_METADATA和Q_INTERFACES
  • 梯度增强算法(Gradient Boosting)学习笔记