티스토리 뷰

728x90


docker run --gpus all 에서 GPU driver 관련 에러가 발생한다.

 

원인

  • GPU를 사용할 수 있는 Docker 런타임 설정이 안 되어 있음
  • nvidia-container-toolkit 패키지가 설치 안 되어 있고, Docker daemon 설정 파일(/etc/docker/daemon.json)에 nvidia 런타임 설정이 없음

 

해결 방법

1) NVIDIA Container Toolkit 설치

  • NVIDIA 공식 repository 추가
curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
 
  • 패키지 목록 업데이트 및 설치
sudo apt update
sudo apt install -y nvidia-container-toolkit

 

2) Docker daemon 설정

  • /etc/docker/daemon.json 파일 생성 또는 수정
 
{
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}

 

3) Docker 재시작

 
sudo systemctl restart docker

 

4. 테스트 및 정상 확인

테스트 명령어

sudo docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu20.04 nvidia-smi

 

성공 조건

  • GPU 상태가 정상적으로 출력됨
  • 컨테이너 안에서 python -c "import torch; print(torch.cuda.is_available())" 실행했을 때 True 출력

 


결론 및 정리

 

문제 상황 원인 해결 방법

 

docker GPU 실행 실패 nvidia-container-toolkit 미설치 또는 docker 설정 미흡 toolkit 설치, daemon.json 수정, docker 재시작
GPU 동작 여부 확인 정상 세팅 확인 필요 docker run --gpus all ... nvidia-smi 실행

 

 

 

728x90
댓글