kubernetes & Docker 관련

[yongggg's] 서버에 Docker/Nvidia-Docker 설치하기 (Ubuntu20.04)

Yonggg 2022. 11. 24. 13:55

https://yongggg.tistory.com/32 글 에서는 서버에 nvidia-driver, cuda, cudnn까지 gpu를 사용할 수 있는 환경을 구축했습니다.

이번 글에서는 개발 환경을 사용하면서, 팀원들과의 가상환경이 충돌날 일이 없도록 Docker를 서버에 설치하고, Nvidia-docker로 GPU까지 이용할 수 있도록 할 것입니다.

지난 번에 작성한 docker 관련 글에는 이미 설치된 Docker에서 container를 구축하는 방법을 알려드렸습니다. 하지만!! 이번에는 dokcer 자체를 서버에 처음 어떻게 까는지에 대해 정리해볼까합니다. (서버를 밀었어요...ㅠ)

1) Docker 설치 (https://subicura.com/2017/01/19/docker-guide-for-beginners-2.html)

curl 설치 

sudo apt-get update
sudo apt-get install curl

docker 설치

curl -fsSL https://get.docker.com/ | sudo sh

유저 권한 부여

sudo 명령 없이 docker 를 실행할 수 있도록 하는 설정으로 설정 후에 재로그인이 필요하다.

sudo usermod -aG docker $USER

docker 설치 확인 (반응이 있으며, 제대로 메시지를 띄운다면, 정상 설치된 것이다.)

docker ps
service docker status

cf) docker 백업 및 복구

기존 설치된 서버에서 사용하던 docker 이미지를 복사해서 사용할 수 있는 방법이다.

(Docker-Compose를 이용하여 이미지 생성하는 법도 존재한다.)

(1) 백업

docker save -o rapids_docker.tar rapids_hangle_py37_ssh_image

(2) 복구

sudo docker load < rapids_docker.tar
docker images
docker run -v /etc/localtime:/etc/localtime:ro -p 2020:22 --name rapids_hangle_py37_ssh -td rapids_hangle_py37_ssh_image

2) Nvidia-Docker 설치

NVIDIA Container Toolkit Setting (안정적인 repository와 GPG Key 셋업)

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

apt package update

sudo apt-get update

nvidia-docker 설치

sudo apt-get install -y nvidia-docker2

Docker 재실행

sudo systemctl restart docker

nvidia-docker 동작 확인

sudo docker run --rm --gpus all nvidia/cuda:11.4.0-cudnn8-devel-ubuntu20.04 nvidia-smi