목차
1. NVIDIA Container Toolkit이란?
3. NVIDIA Container Toolkit 설치
0. 직면한 Docker Error
docker run --rm -it --ipc=host --gpus all ${mount_arg} ${image}
그동안 별탈 없이 실행되던 docker container가 어느날 갑자기 먹통이 되었습니다. 항상 쓰던 위 코드로 docker를 실행했을 뿐인데 "docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]."라는 error 메세지를 마주했을 때의 당황스러움이란...😥 Error 관련해서 찾아보니 docker container 실행 시, GPU를 인식하지 못할 때 발생하는 문제라고 하여 해결 방법을 찾던 중 Nvidia Container Toolkit에 대해 알게 되었습니다.
1. NVIDIA Container Toolkit이란?
NVIDIA Container Toolkit은 NVIDIA GPU를 Docker container 환경에서 사용할 수 있도록 지원하는 도구입니다. GPU 장치와 CUDA 라이브러리를 container에 자동으로 mount 함으로써, docker 환경에서 GPU 기반 연산을 수행할 수 있게 됩니다.
2. 설치 환경 체크
1) Ubuntu 버전
lsb_release -a
2) Docker 버전
docker --version
3) GPU 정보
nvidia-smi
3. APT로 NVIDIA Container toolkit 설치
접속한 Ubuntu 환경에 순서대로 아래 코드들을 입력해주세요.
1) APT 패키지 관리 시스템에서 사용할 리포지토리 설정을 추가
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/stable/deb/nvidia-container-toolkit.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
2) 저장소에서 패키지 업데이트
sudo apt-get update
3) NVIDIA Container toolkit 패키지 설치
# 기본 설치
sudo apt-get install nvidia-container-toolkit
# 자동 yes 처리되는 옵션을 사용하여 설치
sudo apt-get install nvidia-container-toolkit
4) Docker daemon 재시작
sudo systemctl restart docker
5) NVIDIA Container Toolkit 패키지 설치 버전 확인
nvidia-container-toolkit --version
NVIDIA Container Runtime Hook version과 commit 결과가 뜬다면 제대로 설치된 것입니다.
6) 정상 실행 여부 확인
docker run --rm -it --ipc=host --gpus all ${mount_arg} ${image}
CUDA image와 workspace path를 mount한 후 docker run 했을 때, NVIDIA GPU를 사용하는 container가 잘 실행되는지 체크해보세요.
Reference
'AI 구현 > 환경 세팅' 카테고리의 다른 글
[WSL] wget: unable to resolve host address 에러 해결 (0) | 2025.01.12 |
---|---|
CLOVA Speech API 사용법 및 화자분할 테스트 (0) | 2024.05.13 |
맥북 M1 pro에 Tensorflow, Keras 개발 환경 세팅하기 (1) | 2023.10.30 |
M1 Mac에서 Image data augmentation 오류 해결 (0) | 2023.10.01 |
google-colab import 시 오류 해결(AttributeError: module 'IPython.utils.traitlets' has no attribute 'Unicode') (0) | 2023.09.30 |