更新於 2024/07/16閱讀時間約 5 分鐘

Docker_NVIDIA Container Enable_以Ubuntu24.04|22.04為例


當你安裝完docker,並且設定好所有相關程序後。你正要使用docker去進行操作,讓專案可以在容器哩,方便平台移轉、備份、共用等等等等等;如果你遇到CUDA docker runtime 的問題時,這篇正適合你閱讀。

開始之前,如果你要參考怎麼安裝docker,設定docker環境,請參考:

完成上面的環境後,廢話不多說,讓我們開始吧!

一開始請新增來源庫:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

配置來源庫以使用體驗包(這是選項,你可以跳過這個步驟):

sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

更新套件清單:

sudo apt-get update

安裝 NVIDIA Container Toolkit 軟體包:

sudo apt-get install -y nvidia-container-toolkit

重新啟動docker容器

sudo systemctl restart docker

使用以下命令配置容器運行nvidia-ctk(容器支援:Docker、Containerd、CRI-O、Podman;請依據你的需求在=後面置換即可)

sudo nvidia-ctk runtime configure --runtime=docker

如果你遇到錯誤(通常是系統沒有daemon.json,那就手動新增一個之後在執行上面的指令),nvidia-ctk指令會自行修改/etc/docker/daemon.json主機上的檔案配置,將 用 NVIDIA 容器工具包描述寫進去docker,讓docker可以運作時認識nvidia host的GPU。

sudo nano /etc/docker/daemon.json
sudo nvidia-ctk runtime configure --runtime=docker

重新啟動 Docker 就完成了:

sudo systemctl restart docker


如果你之前遇到CUDA docker runtime的問題無法執行容器的錯誤,可以把該容器拿來測試,成功後就不會有錯誤畫面了。


例如:

以text-generation-webui專案為例的畫面

測試URL畫面






分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.