본문 바로가기

Tect.tip/Docker

docker: Error response from daemon: could not select device driver with capabilities: [[gpu]] 문제 해결하기

문제 상황

docker run 명령어를 사용하여 container를 생성할 때 --gpus 옵션을 사용하여 생성하는 경우 아래와 같이 문제가 발생한다.

nvidia-smi를 입력하였을때 gpu 정보도 잘 나와서 문제의 원인을 파악하기가 어려웠다.

$ docker run -it --rm --gpus all alpine /bin/sh
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

해결 방안

nvidia-container-toolkit을 설치하면 모든게 해결된다. 우선 nvidia repository를 추가한 다음 apt-get 명령어를 사용하여 nvidia-container-toolkit을 설치해 준다.

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \\
   && curl -s -L <https://nvidia.github.io/nvidia-docker/gpgkey> | sudo apt-key add - \\
   && curl -s -L <https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list> | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

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

docker service를 재시작해 준다.

$ sudo systemctl restart docker