[Docker] could not select device driver "" with capabilities: [[gpu]]

    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

    댓글