Docker를 활용 한다는 것은 시스템 세팅에 있어서, 어느 누군가가 만들어 놓은 것을
잘 가져가 쓰는 것과 같습니다. 지금까지는 직접 서버에 세팅 해서 직접 하였지만,
지금은 Docker 환경에서 이를 수행 하려고 합니다. 지금 시스템 사양은 아래와
같습니다.
1. 시스템 사양
시스템 사양은 아래와 같습니다.
CPU : I7-8700
MEMORY : SAMSUNG 64GB
SSD: 1TB
GPU : NVIDIA RTX3080
2. NVIDA CUDA GPU 설치
Ubuntu 20.04 에서는 Nvidia CUDA 드라이버가 설치 되어 있습니다. 하지만 CUDA
버전을 설치 하는 것이 결정되어 있지 않습니다. 그래서 아래와 같이 미리 GPU를 삭제
하여야 합니다.
기존에 설치된 nvidia 와 cuda 제거
$ sudo apt-get remove --purge '^nvidia-.*'
$ sudo apt-get autoremove --purge 'cuda*'
CUDA TOOLKit Install
$sudo apt install nvidia-cuda-toolkit
쿠다 버전 확인
$ nvcc -V
설치 가능한 버전 체크
$ ubuntu-drivers devices
CUDA 버전 설치
$ sudo apt install nvidia-driver-510
그리고 재시작 합니다.
3. NVIDIA DOCKER 이미지 설치
향후 특정 사용자가 Docker 를 사용하게 하려면, 사용자를 추가 하여야 합니다. $sudo usermod -aG docker $USER
그리고 재시작 해야 합니다.
Nvidia-docker 설치는 아래 홈페이지에 직접 접속 하셔서 설치 하셔야, 놓치지 않고 정확하게 설치 할 수 있습니다.
NVIDA Docker 설치 사이트
위의 링크와같이 설치 하였다면, Docker 까지 같이 설치 되었을 것입니다.
4. Nvidia 이미지내 명령 실행
아래와 같이 명령어를 차례대로 수행 하시면, Docker 실행 되는 여부와 CUDA를 실행 하기 위한 Path도 지정 됩니다.
$ sudo nvidia-docker run --rm hello-world
$ apt-cache madison nvidia-docker2 nvidia-container-runtime
$ sudo docker run -it nvidia/cuda:11.0-base
5. Nvidia Docer image 실행
$ sudo docker run -it --rm --runtime=nvidia -v $(realpath ~/Dropbox):/tf/notebooks -p 8888:8888 tensorflow/tensorflow:2.4.3-gpu-jupyter
위와 같이 명령어를 실행 하였을때, Docker에서는 이미지 다운(pull) 하게 되면서, 설치 후 시동이 됩니다. 여기에서 URL 상에 토큰 Key 가 들어 있으니 참고 하면 됩니다.
도커명령어 중에서 가장 중요한 것은 포트 입니다. 포트를 지정 하지 않으면, 바깥에서 사용할 수 없습니다.
만약에 윈도우즈 Docker에서 CPU 전용으로 실행 시키려면 아래와 같이 하여야 합니다.
> docker run -it --rm -v "E:\Dropbox:/tf/notebooks" -p 8888:8888 tensorflow/tensorflow:2.4.3-jupyter