Trouble/Docker

--gpus 안 먹힐 때, nvidia-container-toolkit 설치 안 될 때

침닦는수건 2024. 5. 7. 17:38
반응형

docker container 띄울 때 GPU를 써야할 경우 --gpus all를 추가한다. 
 
이 때 nvidia-driver 멀쩡히 잘 설치했고, 다른 코드에서 GPU 사용 잘 되는데 docker container 만들 때만 다음과 같은 오류가 날 때가 있다.

docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

 
원인을 검색해보면 nvidia-container-toolkit이 없어서 그렇다고 한다.
 

해결법

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

 
간단하게 nvidia-container-toolkit을 설치해주면 해결!
 

이슈

nvidia-conainter-toolkit 설치 명령어 자체가 아래와 같이 오류가 날 수도 있다. 

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package nvidia-container-toolkit

 
그럴 경우, 일단 아래와 같이 update 한 번, https로 원격 repository에서 받아올 수 있도록 curl 같은거 설치.

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

 
다음과 같이 입력. overwrite할거냐고 경고가 하나 뜰 수도 있는데 yes. (나는 그렇게 해서 해결됐음.)

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& 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/$distribution/libnvidia-container.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

 
마지막으로 필수. update 1번과 툴킷 설치, 그리고 docker 재시작.

sudo apt-get update
sudo apt-get install nvidia-container-toolkit
sudo systemctl restart docker

 

반응형