테디노트

teddylee777/docker-kaggle-ko

[Ubuntu 20.04 LTS]Nvidia드라이버 설치하기

Ubuntu 20.04에 CUDA 11.2, cuDNN 8.1.0, OpenCV 4.5.1 설치

Easy Statistics !

1. SSH setting

##SSH setting
#install ssh
sudo apt-get install openssh-server
#permit to access Root
sudo vi /etc/ssh/sshd_config
-------------------------[in vi editor]-------------------------
|*vi editor 접속 후 아래의 주석을 다음과 같이 변경
|# PermitRootLogin prohibit-password -> PermitRootLogin yes
|
|*아래의 주석을 다음과 같이 변경
|#PasswordAuthentication yes -> PasswordAuthentication yes
|
|*저장 후 vi editor 종료
|:wq
----------------------------------------------------------------
#install network tools
sudo apt install net-tools
#set root account password
sudo passwd root
#restart ssh service]
sudo service ssh restart
#check ip address
ifconfig
-------------------------[result]-------------------------
|* inet 뒤의 주소가 해당 로컬의 ip
|inet ***.***.***.***
----------------------------------------------------------

2. NVIDIA driver (version == 460)

##nvidia driver(460)
#현재 nvidia driver version 확인
#설치 가능한 드라이버 목록 확인
ubuntu-drivers devices
#원하는 드라이버 수동 설치
sudo apt install nvidia-driver-460
#rebooting
sudo reboot

3.1 Install Docker

##install docker
#step1. apt-get update
sudo apt-get update
#step2. remove before version
sudo apt-get remove docker docker-engine docker.io
#step3. install docker
sudo apt install docker.io
#step4. start docker service
sudo systemctl start docker
sudo systemctl enable docker
#step5. check docker version
docker --version

3.2 nvidia-docker 설치

#1) 혹시 이전 버전이 있다면 아래 스크립트로 이전 버전을 제거한다.
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker

#2) 아래 스크립트를 실행해서 nvidia-docker를 설치한다.
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
sudo systemctl restart docker

#3) 설치 여부 검증하기
# docker version 19.03 이상
docker run --gpus all nvidia/cuda:10.0-base nvidia-smi
# docker version 19.03 미만
docker run --runtime=nvidia nvidia/cuda:10.0-base nvidia-smi

4. Create Container & Commit Image

① 세팅이 잘 된 image를 기반으로 container 생성

② container에 필요한 옵션을 추가 후 image로 commit

+$\alpha$ : container 생성 시 자원 분할 할당

4.1 image setting(세팅이 잘 된 image) + container 생성

(1) Docker Hub에 이미지가 존재하는 경우

##create container
sudo docker run --rm -itd -p 8888:8888 -v /media/heo2/Hyeonsep1/Kaggle/data:/kaggle --name hys teddylee777/docker-kaggle-ko

## 옵션 설명
sudo docker run --rm -itd -p {로컬 포트 주소값}:{컨테이너 포트 주소값} -v {로컬 경로}:{컨테이너 경로} --name {컨테이너 이름} {이미지 이름}
#사용할 이미지가 docker hub에 존재하면 미리 이미지를 pull하지 않아도 자동으로 가져옴)

-itd : -it와 -d의 기능이 다름. 근데 같이 씀 (it는 tty, d는 background?)
-p : 로컬의 포트와 컨테이너의 포트를 매칭 
-v : 로컬의 경로와 컨테이너의 경로를 매칭