Search

nvidia-docker 설치하기

사전 설치

nvidia-driver 설치

sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo ubuntu-drivers autoinstall sudo reboot
Bash
복사
기존 버전이 제대로 삭제 되지 않았거나 드라이버 버전이 현재 그래픽카드와 맞지 않을 경우 아래와 같은 문제가 발생할 수 있습니다.
무한 로그인 상태(로그인을 해도 계속 로그인 화면으로 돌아오는 경우. 터미널은 잘 될 수 있음)
화면 해상도 이상
키보드 또는 마우스 인식 안됨
이런 경우 터미널로 접속하거나 안전모드로 부팅하여 기존 버전을 삭제하고 그래픽카드와 맞는 버전으로 재설치 합니다.

nvidia-driver 삭제

sudo apt-get remove --purge '^nvidia-.*' sudo apt-get install ubuntu-desktop sudo rm /etc/X11/xorg.conf echo 'nouveau' | sudo tee -a /etc/modules
Bash
복사

도커 설치

curl https://get.docker.com | sh \ && sudo systemctl --now enable docker
Bash
복사

nvidia-docker 설치

패키지 레포지토리 및 GPG key 설정

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ && 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/$distribution/libnvidia-container.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
Bash
복사
sudo apt-get update
Bash
복사
sudo apt-get install -y nvidia-docker2
Bash
복사
sudo systemctl restart docker
Bash
복사

설치 확인

sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
Bash
복사
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 450.51.06 Driver Version: 450.51.06 CUDA Version: 11.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 Tesla T4 On | 00000000:00:1E.0 Off | 0 | | N/A 34C P8 9W / 70W | 0MiB / 15109MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
Shell
복사
출력 화면

sudo 명령어 없이 docker 실행

도커 그룹 생성

sudo groupadd docker
Shell
복사

도커그룹에 유저 추가

sudo usermod -aG docker ${USER}
Shell
복사

도커 재시작

sudo service docker restart
Shell
복사

현재 사용자 로그아웃 및 재 로그인

sudo su - #루트사용자로 변경 su - [유저아이디] #사용자 아이디 재 로그인
Shell
복사

reference