使用 Docker Compose 運行支援 GPU 的 Milvus
本頁說明如何使用 Docker Compose 啟動支援 GPU 的 Milvus 實例。
先決條件
- 安裝 Docker。
- 安裝前請檢查硬體與軟體需求。
如果您在拉動映像時遇到任何問題,請透過community@zilliz.com與我們聯絡,並提供問題的詳細資訊,我們將為您提供必要的支援。
安裝 Milvus
若要使用 Docker Compose 安裝支援 GPU 的 Milvus,請遵循下列步驟。
1.下載並設定 YAML 檔案
下載 milvus-standalone-docker-compose-gpu.yml
並手動儲存為 docker-compose.yml,或使用下列指令。
$ wget https://github.com/milvus-io/milvus/releases/download/v2.5.4/milvus-standalone-docker-compose-gpu.yml -O docker-compose.yml
您需要對 YAML 檔案中獨立服務的環境變數做一些變更,如下所示:
- 若要指定特定的 GPU 裝置給 Milvus,請找到
standalone
服務定義中的deploy.resources.reservations.devices[0].devices_ids
欄位,並將其值更換為所需 GPU 的 ID。您可以使用 NVIDIA GPU 顯示驅動程式隨附的nvidia-smi
工具來確定 GPU 裝置的 ID。Milvus 支援多個 GPU 裝置。
指定單一 GPU 裝置至 Milvus:
...
standalone:
...
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: ["gpu"]
device_ids: ["0"]
...
指定多個 GPU 裝置至 Milvus:
...
standalone:
...
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: ["gpu"]
device_ids: ['0', '1']
...
2.啟動 Milvus
在存放 docker-compose.yml 的目錄中,執行啟動 Milvus:
$ sudo docker compose up -d
Creating milvus-etcd ... done
Creating milvus-minio ... done
Creating milvus-standalone ... done
如果您無法執行上述指令,請檢查您的系統是否已安裝 Docker Compose V1。如果是這樣的話,建議您根據本頁面的說明,轉換到 Docker Compose V2。
啟動 Milvus 之後、
- 命名為milvus- standalone、milvus-minio 和milvus-etcd的容器已啟動。
- milvus-etcd容器不向主機暴露任何連接埠,並將其資料映射到目前資料夾中的volumes/etcd。
- milvus-minio容器使用預設的驗證憑證在本機服務連接埠9090和9091,並將其資料對應到目前資料夾中的volumes/minio。
- milvus-standalone容器使用預設設定本機服務連接埠19530,並將其資料對應到目前資料夾中的volumes/milvus。
您可以使用以下命令檢查容器是否已啟動和運行:
$ sudo docker compose ps
Name Command State Ports
--------------------------------------------------------------------------------------------------------------------
milvus-etcd etcd -advertise-client-url ... Up 2379/tcp, 2380/tcp
milvus-minio /usr/bin/docker-entrypoint ... Up (healthy) 9000/tcp
milvus-standalone /tini -- milvus run standalone Up 0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp
您也可以存取 Milvus WebUI,網址是http://127.0.0.1:9091/webui/
,以瞭解更多關於您的 Milvus 實例的資訊。如需詳細資訊,請參閱Milvus WebUI。
如果您在 docker-compose.yml 中指定了多個 GPU 裝置給 Milvus,您可以指定哪個 GPU 裝置是可見或可用的。
讓 GPU 裝置0
對 Milvus 是可見的:
$ CUDA_VISIBLE_DEVICES=0 ./milvus run standalone
讓 GPU 裝置0
和1
對 Milvus 是可見的:
$ CUDA_VISIBLE_DEVICES=0,1 ./milvus run standalone
您可以如下方式停止和刪除此容器。
# Stop Milvus
$ sudo docker compose down
# Delete service data
$ sudo rm -rf volumes
設定記憶體池
Milvus 開啟並運行後,您可以透過修改milvus.yaml
檔案中的initMemSize
和maxMemSize
設定,自訂記憶體池內容。
milvus.yaml
檔案位於 Milvus 容器內的/milvus/configs/
目錄。
要自訂記憶體池時,請修改milvus.yaml
檔案中的initMemSize
和maxMemSize
設定,如下所示。
使用以下命令將
milvus.yaml
從 Milvus 容器複製到您的本機。用您實際的 Milvus 容器 ID 取代<milvus_container_id>
。docker cp <milvus_container_id>:/milvus/configs/milvus.yaml milvus.yaml
使用您喜歡的文字編輯器開啟複製的
milvus.yaml
檔案。例如,使用 vim:vim milvus.yaml
根據需要編輯
initMemSize
和maxMemSize
設定,並儲存您的變更:... gpu: initMemSize: 0 maxMemSize: 0 ...
initMemSize
:記憶體池的初始大小。預設為 1024。maxMemSize
:記憶體池的最大大小。預設為 2048。
使用以下命令將修改過的
milvus.yaml
檔案複製回 Milvus 容器。用您實際的 Milvus 容器 ID 取代<milvus_container_id>
。docker cp milvus.yaml <milvus_container_id>:/milvus/configs/milvus.yaml
重新啟動 Milvus 容器以套用變更:
docker stop <milvus_container_id> docker start <milvus_container_id>
下一步
在 Docker 中安裝 Milvus 後,您可以
查看Quickstart了解 Milvus 的功能。
查看Milvus WebUI了解更多關於 Milvus 的實例。
學習 Milvus 的基本操作:
在雲上部署您的 Milvu 集群:
探索Milvus WebUI,Milvus 可觀察與管理的直覺式網頁介面。
探索Milvus 備份,Milvus 資料備份的開放原始碼工具。
探索Birdwatcher,用於調試 Milvus 和動態組態更新的開放原始碼工具。
探索Attu,一個開放源碼 GUI 工具,用於直觀的 Milvus 管理。