docker gpu报错Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]
Docker容器中使用Nvidia GPU報錯 docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]].
問題出現
我們知道,想要在 docker19 及之后的版本中使用 nvidia gpu 已經不需要單獨安裝 nvidia-docker 了,這已經被集成到了 docker 中。
相必大家也知道,要使用宿主機的 GPU,需要在 docker run 的時候添加 --gpus [xxx] 參數。但是,在我們剛剛安裝好 docker 并構建好鏡像之后,直接這樣運行是有問題的,即:
docker run -it --gpus all image_name:tag_name會出現如題報錯:
docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]].
解決方案
實際上,我們在通過 --gpus 參數來使用宿主機的 GPU 時,需要先安裝一個英偉達的容器運行時。
另外需要注意的是,這個東西是不能直接 apt install,會報找不到該軟件,需要先添加英偉達的 apt 軟件源。具體操作步驟如下:
1 添加源
將下面的腳本放到任意位置,
# nvidia-container-runtime-script.shsudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list sudo apt-get update并執行:
sudo sh nvidia-container-runtime-script.sh會得到類似如下輸出:
OK deb https://nvidia.github.io/libnvidia-container/ubuntu18.04/$(ARCH) / deb https://nvidia.github.io/nvidia-container-runtime/ubuntu18.04/$(ARCH) / Hit:1 http://archive.canonical.com/ubuntu bionic InRelease Get:2 https://nvidia.github.io/libnvidia-container/ubuntu18.04/amd64 InRelease [1139 B] Get:3 https://nvidia.github.io/nvidia-container-runtime/ubuntu18.04/amd64 InRelease [1136 B] Hit:4 http://security.ubuntu.com/ubuntu bionic-security InRelease Get:5 https://nvidia.github.io/libnvidia-container/ubuntu18.04/amd64 Packages [4076 B] Get:6 https://nvidia.github.io/nvidia-container-runtime/ubuntu18.04/amd64 Packages [3084 B] Hit:7 http://us-east4-c.gce.clouds.archive.ubuntu.com/ubuntu bionic InRelease Hit:8 http://us-east4-c.gce.clouds.archive.ubuntu.com/ubuntu bionic-updates InRelease Hit:9 http://us-east4-c.gce.clouds.archive.ubuntu.com/ubuntu bionic-backports InRelease Fetched 9435 B in 1s (17.8 kB/s) Reading package lists... Done2 安裝
經過第一步之后,英偉達的軟件源就已經添加好了,接下來直接 apt 安裝就行了:
sudo apt-get install nvidia-container-runtime安裝完成后驗證一下,輸入:
which nvidia-container-runtime應當得到輸出:
/usr/bin/nvidia-container-runtime這就表明該軟件已經正常安裝好了。
3 運行容器
安裝好之后,就可以運行我們帶 GPU 的容器了:
docker run -it --gpus all image_name:tag_name此時不會報錯,正常進入容器。
4 選定GPU編號
如果需要指定某個 GPU 編號,規范還是很嚴格的,筆者親測下面這種格式是可以的:
docker run -it --gpus '"device=0,2"' --shm-size 32g image_name:tag_nameRef:
https://blog.csdn.net/BigData_Mining/article/details/104991349
總結
以上是生活随笔為你收集整理的docker gpu报错Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谈谈东风21D,用弹道导弹破防航母。
- 下一篇: 小说中场景的功能_《流浪地球》:从小说到