在 Docker 中執行 Milvus (Windows)
本頁面示範如何使用 Docker Desktop for Windows 在 Windows 上執行 Milvus。
先決條件
安裝 Python 3.8+。
在 Docker 中執行 Milvus
Milvus 提供一個安裝腳本,可將其安裝為 Docker 容器。在 Microsoft Windows 上安裝 Docker Desktop 後,您可以從 PowerShell 或 Windows Command Prompt 以管理員模式以及 WSL 2 存取 Docker CLI。
從 PowerShell 或 Windows Command Prompt
如果您比較熟悉 PowerShell 或 Windows Command Prompt,命令提示符如下。
在管理員模式下開啟 Docker Desktop,方法是按滑鼠右鍵並選擇以管理員身分執行。
下載安裝指令碼並儲存為
standalone.bat
。C:\>Invoke-WebRequest https://raw.githubusercontent.com/milvus-io/milvus/refs/heads/master/scripts/standalone_embed.bat -OutFile standalone.bat
執行下載的腳本,以 Docker 容器啟動 Milvus。
C:\>standalone.bat start Wait for Milvus starting... Start successfully. To change the default Milvus configuration, edit user.yaml and restart the service.
執行安裝腳本後
一個名為milvus-standalone的 docker 容器已經在19530 連接埠啟動。
嵌入式 etcd 與 Milvus 安裝在同一個容器中,並在2379 連接埠提供服務。它的設定檔對應到目前資料夾中的embedEtcd.yaml。
Milvus 資料卷被對應到目前資料夾中的volumes/milvus。
您可以使用下列命令管理 Milvus 容器和儲存的資料。
# Stop Milvus C:\>standalone.bat stop Stop successfully. # Delete Milvus container C:\>standalone.bat delete Delete Milvus container successfully. # Container has been removed. Delete successfully. # Data has been removed.
從 WSL 2
如果您喜歡在 Windows 上使用 Linux 指令和 shell 腳本啟動 Milvus,請確保已經安裝了 WSL 2 指令。有關如何安裝 WSL 2 指令的詳細資訊,您可以參考這篇微軟文章。
啟動 WSL 2。
C:\>wsl --install Ubuntu already installed. Starting Ubuntu...
下載安裝腳本
# Download the installation script $ curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh # Start the Docker container $ bash standalone_embed.sh start
以 docker 容器的方式啟動 Milvus。
$ bash standalone_embed.sh start Wait for Milvus Starting... Start successfully. To change the default Milvus configuration, add your settings to the user.yaml file and then restart the service.
您可以使用下列指令來管理 Milvus 容器和儲存的資料。
# Stop Milvus $ bash standalone_embed.sh stop Stop successfully. # Delete Milvus data $ bash standalone_embed.sh stop Delete Milvus container successfully. Delete successfully.
使用 Docker Compose 執行 Milvus
在 Microsoft Windows 上安裝 Docker Desktop 之後,您就可以從 PowerShell 或 Windows Command Prompt 以管理員模式存取 Docker CLI。您可以在 PowerShell、Windows Command Prompt 或 WSL 2 中執行 Docker Compose 來啟動 Milvus。
從 PowerShell 或 Windows Command Prompt
在管理員模式中開啟 Docker Desktop,方法是按滑鼠右鍵並選擇以管理員身分執行。
在 PowerShell 或 Windows Command Prompt 執行下列指令,為 Milvus Standalone 下載 Docker Compose 配置檔案,並啟動 Milvus。
# Download the configuration file and rename it as docker-compose.yml C:\>Invoke-WebRequest https://github.com/milvus-io/milvus/releases/download/v2.4.15/milvus-standalone-docker-compose.yml -OutFile docker-compose.yml # Start Milvus C:\>docker compose up -d Creating milvus-etcd ... done Creating milvus-minio ... done Creating milvus-standalone ... done
視您的網路連線而定,下載 Milvus 安裝的映像可能需要一段時間。命名為milvus- standalone、milvus-minio 和milvus-etcd的容器啟動後,您可以看到
milvus-etcd容器不向主機暴露任何連接埠,並將其資料映射到目前資料夾中的volumes/etcd。
milvus-minio容器使用預設的驗證憑證在本機服務連接埠9090和9091,並將其資料對應到目前資料夾中的volumes/minio。
milvus-standalone容器使用預設設定在本機服務連接埠19530,並將其資料對應到目前資料夾中的volumes/milvus。
如果您已安裝 WSL 2,也可以呼叫 Linux 版本的 Docker Compose 指令。
從 WSL 2
步驟與在 Linux 系統中使用 Docker Compose 安裝 Milvus 相似。
啟動 WSL 2。
C:\>wsl --install Ubuntu already installed. Starting Ubuntu...
下載 Milvus 配置檔案。
$ wget https://github.com/milvus-io/milvus/releases/download/v2.4.17/milvus-standalone-docker-compose.yml -O docker-compose.yml
啟動 Milvus。
$ sudo docker compose up -d Creating milvus-etcd ... done Creating milvus-minio ... done Creating milvus-standalone ... done
常見問題
我該如何處理Docker Engine stopped
錯誤?
當您在 Windows 安裝 Docker Desktop 後,如果您的電腦沒有正確設定,您可能會遇到Docker Engine stopped
錯誤。在這種情況下,您可能需要進行以下檢查。
檢查是否已啟用虛擬化。
您可以查看「任務管理員」中的「效能」索引標籤,以檢查虛擬化是否已啟用。
工作管理器中的虛擬化
如果虛擬化已停用,您可能需要檢查主機板韌體的 BIOS 設定。在 BIOS 設定中啟用虛擬化的方法因主機板廠商而異。以華碩主機板為例,您可以參考這篇文章來啟用虛擬化。
然後,您需要重新啟動電腦並啟用 Hyper-V。詳情請參閱這篇微軟文章。
檢查 Docker Desktop Service 是否已經啟動。
您可以執行下列指令來啟動 Docker Desktop Service。
C:\>net start com.docker.service The Docker for Windows Service service is starting. The Docker for Windows Service service was started successfully.
檢查是否已正確安裝 WSL。
您可以執行下列指令來安裝或更新 WSL 2 指令。
C:\>wsl --update Checking for updates. The most recent version of Windows Subsystem for Linux is already installed.
檢查 Docker Daemon 是否已啟動。
您需要到 Docker Desktop 的安裝目錄,執行
.\DockerCli.exe -SwitchDaemon
來啟動 Docker Daemon。C:\>cd "C:\Program Files\Docker\Docker" C:\Program Files\Docker\Docker>.\DockerCli.exe -SwitchDaemon Switching to windows engine: Post "http://ipc/engine/switch": open \\.\pipe\dockerBackendApiServer: The system cannot find the file specified.
檢查是否已以管理員模式啟動 Docker Desktop。
確保你已經以管理員模式啟動 Docker Desktop。要這樣做,在Docker Desktop上按一下滑鼠右鍵,然後選擇以管理員模式執行。
以管理員模式啟動 Docker Desktop
在部署 Milvus 時,我該如何處理 WSL 相關的問題?
如果您在從 WSL 2 執行 Milvus 時遇到 WSL 相關的問題,您可能需要檢查是否已將 Docker Desktop 設定為使用基於 WSL 2 的引擎,如下所示。
確保在設定>一般中勾選「使用 WSL 2-based engine」。
在 Docker Desktop 設定中使用基於 WSL 2 的引擎
從已安裝的 WSL 2 發行版本中選擇要啟用 Docker 整合的版本,前往設定>資源>WSL 整合。
在 Docker Desktop 設定中選擇 WSL 2 發行版本
我該如何處理在 Milvus 啟動時,讀取Read config failed
時提示的磁碟區相關錯誤?
在 Milvus 啟動時出現讀取設定失敗的錯誤提示
要處理 Milvus 啟動時提示「讀取設定失敗」的錯誤,您需要檢查掛載到 Milvus 容器的磁碟區是否正確。如果磁碟區正確掛載到容器中,您可以使用docker exec
指令進入容器,並列出/milvus/configs資料夾,如下所示。
列出 Milvus 配置文件
下一步
在 Docker 中安裝 Milvus 後,您可以
查看Quickstart來了解 Milvus 的功能。
學習 Milvus 的基本操作:
在雲上部署您的 Milvu 集群:
探索Milvus WebUI,Milvus 可觀察與管理的直覺式網頁介面。
探索Milvus 備份,Milvus 資料備份的開放原始碼工具。
探索Birdwatcher,用於調試 Milvus 和動態組態更新的開放原始碼工具。
探索Attu,一個開放源碼 GUI 工具,用於直觀的 Milvus 管理。