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