mac 使用 Docker 安裝向量數據庫Milvus獨立版的保姆級別教程

Milvus

  • 特點:開源的云原生向量數據庫,支持多種索引類型和GPU加速,能夠在億級向量規模下實現低延遲高吞吐。具有靈活的部署選項和強大的社區支持。

  • 適用場景:適合處理超大規模數據和高性能需求的應用,如圖像搜索、推薦系統和自然語言處理。

  • 了解更多關于Milvus的信息

一、環境準備

1. 硬件要求
  • 內存:至少 8GB(推薦 16GB+),Milvus 依賴的 etcd 和 MinIO 組件會占用約 4GB 內存。
  • 磁盤:至少 50GB 可用空間(存儲向量數據和索引)。
  • CPU:雙核 Intel 或 Apple Silicon(M1/M2)芯片。
2. 軟件要求
  • macOS 版本:10.14(Mojave)或更高版本(如 macOS 14 Sonoma)。
  • Docker Desktop:安裝最新版(支持 Apple Silicon 芯片的 ARM 架構鏡像)。

二、安裝 Docker Desktop

  1. 下載 Docker Desktop
    訪問?Docker 官網,下載適合 macOS 的版本(支持 Intel 和 Apple Silicon)。

  2. 安裝并啟動 Docker

    • 雙擊下載的?.dmg?文件,將 Docker 圖標拖入?Applications?文件夾。
    • 打開 Docker Desktop,首次啟動時需授權權限(如訪問文件系統、網絡等)。
    • 登錄 Docker Hub 賬號(可選,但推薦以便拉取鏡像)。
  3. 驗證 Docker 是否安裝成功
    在終端運行以下命令:

    docker --version
    docker-compose --version  # 確保 Docker Compose 已集成(v2.x+)

    輸出:

三、安裝 Milvus 獨立版

1.拉取 Milvus 鏡像
docker pull milvusdb/milvus:v2.3.12
2.創建配置文件目錄
mkdir -p ~/milvus/conf
cd ~/milvus
3. 下載 Milvus 的 Docker Compose 配置文件

在終端運行以下命令,下載 Milvus 官方提供的?docker-compose.yml?文件(以 Milvus v2.3.12?為例):

wget https://github.com/milvus-io/milvus/releases/download/v2.3.12/milvus-standalone-docker-compose.yml -O docker-compose.yml

在 macOS 終端中遇到?command not found: wget?錯誤,通常是因為系統未安裝?wget?工具。wget?是一個常用的命令行工具,用于從網絡下載文件(支持 HTTP、HTTPS 和 FTP 協議)。以下是解決方法:

方法1:用?curl -o docker-compose.yml [URL]

方法2?:通過 Homebrew 安裝 wget

  1. 安裝 Homebrew(如果尚未安裝)
    Homebrew 是 macOS 上的包管理器,可以方便地安裝和管理命令行工具。
    在終端運行以下命令安裝 Homebrew:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. 使用 Homebrew 安裝 wget
    安裝完 Homebrew 后,運行以下命令安裝?wget

    brew install wget
  3. 驗證安裝
    安裝完成后,運行以下命令驗證?wget?是否可用:

    wget --version

    如果輸出版本信息(如?GNU Wget 1.21.4),則表示安裝成功。

或手動創建文件:

# docker-compose.yml
version: '3.8'
services:etcd:image: quay.io/coreos/etcd:v3.5.5container_name: milvus-etcdenvironment:- ETCD_AUTO_COMPACTION_MODE=revision- ETCD_AUTO_COMPACTION_RETENTION=1000volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcdports:- "2379:2379"command: etcd -advertise-client-urls=http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcdminio:image: minio/minio:RELEASE.2023-03-20T20-16-18Zcontainer_name: milvus-minioenvironment:MINIO_ACCESS_KEY: minioadminMINIO_SECRET_KEY: minioadminvolumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_dataports:- "9000:9000"- "9001:9001"command: minio server /minio_data --console-address ":9001"standalone:image: milvusdb/milvus:v2.3.12container_name: milvus-standaloneports:- "19530:19530"  # gRPC 端口- "9091:9091"    # HTTP 端口environment:ETCD_ENDPOINTS: etcd:2379MINIO_ADDRESS: minio:9000volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvusdepends_on:- "etcd"- "minio"
4. 啟動 Milvus 服務

在終端進入?docker-compose.yml?所在目錄,運行以下命令:

docker compose up -d
  • -d?表示后臺運行。
  • 首次啟動會下載 Milvus、etcd 和 MinIO 的鏡像(約 2GB),需耐心等待。
3. 驗證服務狀態

運行以下命令檢查容器是否正常運行:

docker compose ps

輸出示例:

NAME                COMMAND                  STATE           PORTS
milvus-etcd         "/usr/local/bin/etcd..." Up (healthy)   2379/tcp, 2380/tcp
milvus-minio        "/usr/bin/docker-ent..." Up (healthy)   9000/tcp, 9001/tcp
milvus-standalone   "/tini -- milvus run..." Up (healthy)   0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp

4. 訪問 Milvus Web UI

  • 打開瀏覽器,訪問?http://localhost:9091/webui
  • 默認無需登錄,可直接查看 Milvus 的運行狀態、集合信息等。

四、連接 Milvus 客戶端

1. 使用 PyMilvus 連接

安裝 PyMilvus:

pip3 install pymilvus==2.5.4

測試連接:

from pymilvus import connectionsconnections.connect(host="localhost",port="19530",user="",password=""
)
print(connections.list_connections())  # 輸出連接信息
2. 使用 cURL 測試健康檢查
curl -I http://localhost:9091/healthz

返回?HTTP/1.1 200 OK?表示服務正常。


五、常見問題排查

  1. 鏡像下載慢
    • 配置 Docker 國內鏡像源(如阿里云、中科大等)。
    • 修改 Docker Desktop 的?Settings > Docker Engine,添加以下配置:
      {"registry-mirrors": ["https://<your-mirror-url>"]
      }
  2. 容器啟動失敗
    • 檢查日志:
      docker compose logs -f

      常見原因:

      • 端口沖突

        ????????修改?docker-compose.yml?中的端口映射(如?19530:19530?改為?19531:19530
      • 內存不足

        在 Docker Desktop 設置中增加內存分配(建議至少 4GB)
  3. Apple Silicon 芯片兼容性問題
    • 確保使用 Milvus 的 ARM 鏡像(如?milvusdb/milvus:v2.5.4-arm64)。
    • 修改?docker-compose.yml?中的鏡像標簽為?-arm64
  4. 數據持久化問題
    • 默認數據存儲在?./volumes/?目錄下,刪除容器前需備份該目錄。
    • 停止并刪除容器:
      docker compose down -v # -v 刪除數據卷

六、卸載 Milvus

  1. 停止并刪除容器:
    docker compose down -v
  2. 刪除配置文件和卷:
    rm -rf docker-compose.yml volumes/

總結

????????通過本教程,你可以在 macOS 上快速部署 Milvus 獨立版,并通過 Web UI 或客戶端進行交互。Milvus 獨立版適合開發測試和小規模生產環境,如需分布式部署,可參考官方 Kubernetes 部署方案。你也可以參考使用Docker安裝 Milvus 獨立版(官方文檔)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/79011.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/79011.shtml
英文地址,請注明出處:http://en.pswp.cn/web/79011.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一款獨立于游戲外的鍵盤源按鍵輔助工具他來了

一款獨立于游戲外的鍵盤源按鍵輔助工具 一&#xff01;不需要安裝&#xff0c;下載即用 二&#xff01;只要熟悉hekili體系 三&#xff01;略懂wa定制 四&#xff01;知道如何循環并且會自行模擬 五&#xff01;會simc最好 直接就上手了&#xff01; 我們的不是一鍵宏&…

python學生作業提交管理系統-在線作業提交系統

目錄 技術棧介紹具體實現截圖系統設計研究方法&#xff1a;設計步驟設計流程核心代碼部分展示研究方法詳細視頻演示試驗方案論文大綱源碼獲取/詳細視頻演示 技術棧介紹 Django-SpringBoot-php-Node.js-flask 本課題的研究方法和研究步驟基本合理&#xff0c;難度適中&#xf…

Spring Boot + Vue 實現在線視頻教育平臺

一、項目技術選型 前端技術&#xff1a; HTML CSS JavaScript Vue.js 前端框架 后端技術&#xff1a; Spring Boot 輕量級后端框架 MyBatis 持久層框架 數據庫&#xff1a; MySQL 5.x / 8.0 開發環境&#xff1a; IDE&#xff1a;Eclipse / IntelliJ IDEA JDK&…

引文索引數據庫在科研中的應用

如何利用引文索引數據庫高效檢索、分析研究論文&#xff0c;發現高水平論文&#xff0c;鎖定特定領域的經典文獻&#xff1f;如何跟蹤最新研究進展&#xff1f; 回放鏈接 image.png image.png image.png image.png image.png image.png image.png image.png image.png image.pn…

《供應鏈網絡攻擊的風險與防范》

中國古語有云&#xff1a;“千里之堤&#xff0c;潰于蟻穴。”供應鏈攻擊正是利用這種系統性弱點發起攻勢。近年來&#xff0c;隨著國內數字化轉型加速&#xff0c;供應鏈安全問題頻發。從某盟刪庫事件到某頭部物流企業數據泄露&#xff0c;從某國產工業軟件遭惡意代碼植入到某…

ETL介紹及kettle等工具學習

ETL介紹及kettle等工具學習 1. 什么是ETL&#xff1f; ETL&#xff08;Extract, Transform, Load&#xff09;是數據集成領域的核心流程&#xff0c;用于將數據從多個分散的源系統中抽取、清洗、轉換后加載到目標數據倉庫或數據湖中&#xff0c;以支持分析、報表和決策。其核…

圖形渲染+事件處理最終版

基于之前做的項目圖形移動處理-CSDN博客添加了相機&#xff0c;透視投影&#xff0c;鼠標控制圖形旋轉。雖然個人感覺這個項目用的是一個二維的三角形&#xff0c;給他加透視投影和相機意義不大&#xff0c;因為透視投影是近大遠小&#xff0c;我這個程序設置了放大縮小的限制&…

G口大帶寬服務器線路怎么選

G口大帶寬服務器線路選擇指南 ??一、線路類型與特點?? ??單線&#xff08;電信/聯通/移動&#xff09;?? ??優勢??&#xff1a;帶寬獨享、價格低、延遲穩定&#xff0c;適合單一運營商用戶集中場景。??劣勢??&#xff1a;跨運營商訪問延遲高&#xff08;如電信…

HTML10:iframe內聯框架

iframe內部框架 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>內聯框架學習</title> </head> <body> <!--iframe內聯框架 src:地址 width-height:高度寬度 --> <iframe…

基于 Spring Boot 瑞吉外賣系統開發(十一)

基于 Spring Boot 瑞吉外賣系統開發&#xff08;十一&#xff09; 菜品啟售和停售 “批量啟售”、“批量停售”、操作列的售賣狀態綁定單擊事件&#xff0c;觸發單擊事件時&#xff0c;最終攜帶需要修改售賣狀態的菜品id以post請求方式向“/dish/status/{params.status}”發送…

springboot war包tomcat中運行報錯,啟動過濾器異常,一個或多個篩選器啟動失敗。

錯誤信息&#xff1a; "level": "ERROR", "thread": "localhost-startStop-1", "class": "o.a.c.c.C.[.[localhost].[/Crmeb-admin]", …

Cursor —— AI編輯器 使用詳解

Cursor - The AI Code Editor 一、Cursor 是什么&#xff1f; Cursor 是一款優秀的AI代碼編輯器&#xff0c;它內置了 Deepseek-R1、GPT-4、Claude等 AI 模型。 簡單說&#xff0c;就是&#xff1a;Cursor VS Code 編輯器 AI 大模型 Cursor 功能特性&#xff08;代碼補全、…

在Excel圖表添加輔助線

前言&#xff1a;博主最近是有點忙&#xff0c;好吧&#xff0c;就是很忙&#xff0c;但我也不想水文章的&#xff0c;每一篇文章都是本人精心編輯&#xff0c;覺得對大家有用才發布的。而且同一個類型的文章&#xff0c;我基本都會寫在同一篇中方便大家集中獲取。本來這篇文章…

2025.5.8總結(中期審視)

今日記錄&#xff1a; 晚上&#xff0c;主管找我聊了關于中期績效審視的問題。 首先就是讓我匯報上半年的工作進展&#xff0c;匯報完后&#xff0c;感覺體現不出自己的工作量&#xff0c;這確實考驗個人的匯報能力。 匯報完工作后&#xff0c;主管開始給我提了一些建設性的…

Excel模版下載文件導入

工作中經常遇到Excel模板下載&#xff0c;然后填好后再導入的情況&#xff0c;簡單記錄下&#xff0c;方便下次使用 Excel模版下載&#xff08;返回Base64&#xff09; 模板文件存放位置 import java.util.Base64; import org.apache.commons.io.IOUtils; import org.sprin…

SpringBoot 訊飛星火AI WebFlux流式接口返回 異步返回 對接AI大模型 人工智能接口返回

介紹 用于構建基于 WebFlux 的響應式 Web 應用程序。集成了 Spring WebFlux 模塊&#xff0c;支持響應式編程模型&#xff0c;構建非阻塞、異步的 Web 應用。WebFlux 使用了非阻塞的異步模型&#xff0c;能夠更好地處理高并發請求。適合需要實時數據推送的應用場景。 WebClie…

模擬Sch LVS Sch 方法

Step1&#xff1a;打開calibre 打開一個terminal&#xff0c;進到想要做lvs的路徑&#xff1a; 在terminal 敲入calibre -gui&#xff0c;產生calibre 界面 點擊nmLVS&#xff0c;產生calibre LVS界面 Step2&#xff1a;LVS 界面設置1 LVS rules file&#xff1a;加載lvs規…

注解的定義

一、理論說明 1. 注解的定義 Java 注解是從 JDK 5.0 開始引入的一種元數據機制&#xff0c;它可以為代碼添加額外的信息&#xff0c;這些信息不影響程序的運行邏輯&#xff0c;但可以在編譯期、類加載期或運行期被讀取和處理。注解本質上是一種特殊的接口&#xff0c;所有注解…

面試實踐AND面經熱點題目總結

1、對于Rocketmq消息積壓、丟失如何解決&#xff1f; 消息積壓原因以及解決方案 &#x1f3af; 產生原因&#xff1a; 消費者處理能力弱&#xff0c;消費速度遠低于生產速度&#xff1b; 網絡不穩定&#xff0c;消費者拉取消息失敗&#xff1b; 消費端異常&#xff08;如處理…

【KWDB 創作者計劃】使用Docker實現KWDB數據庫的快速部署與配置

【KWDB 創作者計劃】使用Docker實現KWDB數據庫的快速部署與配置 前言一、KWDB介紹1.1 KWDB簡介1.2 主要特點1.3 典型應用場景 二、環境介紹2.1 部署環境要求2.2 本地環境規劃2.3 部署模式 三、部署Docker環境3.1 安裝相關工具3.2 配置Docker軟件源3.3 更新軟件源3.4 安裝Docker…