티스토리 뷰

반응형

도커를 사용하다 보면 다양한 문제에 맞닥뜨리게 된다. 해결하기 쉬운 문제부터 어려운 문제까지 수많은 문제들이 존재하는데 사용할때마다 항상 다른 오류가 발생하여 문제가 발생할때마다 크게 당황하게 된다. 이번에 다룰 문제는 비교적 해결하기 쉬운 문제로 간단한 패키지만 몇개 설치하면 해결되는 문제였다. 문제 해결 후 해결방안을 여기에 공유하여 동일한 문제가 발생하는 경우 쉽게 대처할 수 있도록 돕고자 한다.

문제 상황

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

 

반응형
댓글