본문 바로가기

🤖딥러닝

[Docker] 도커로 딥러닝 환경 구축하기 A to Z

반응형

 

1. 도커 이미지 다운

1-1.Docker hub(https://hub.docker.com/)에서 'pytorch' 검색

클릭


 

 

 

 

1-2. 적절한 버전의 tags선택  

 

 

 

 

1-3. Tag에서 버전 확인 후 copy

 

 

 

 

1-4. (터미널) 도커에 pytorch 이미지 가져오기

docker pull <REPOSITORY>:<TAG>

docker pull pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime

 

 

 

 

 

1-5. (터미널) 다운받아진 도커 이미지 확인

docker images

 

 

확인결과, PyTorch와 CUDA, cuDNN이 포함된 pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime 이미지가 설치된것을 확인할 수 있다. 이때 IMAGE ID는 26551f1051e7이다.

 

 

 

 

1-6. (터미널) 특정 이미지 기반으로 새 컨테이너 생성 및 실행, NVIDA cuda 사용

docker run --gpus all -it -p 8888:8888 --name gpu_server <REPOSITORY>:<TAG>

 

docker run --gpus all -it -p 8888:8888 --name gpu_server pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime

 

 

**딥러닝 환경을 구축할때 NVIDIA Graphic Card Driver와 Docker설치는 필수적이다. 

** NVIDIA Docker (nvidia-docker) : 과거에는 Docker에서 GPU를 사용하기 위해 'nvidia-docker'라는 별도의 플러그인을 설치해야했지만, Docker 19.03버전 이후로는 Docker 자체에서 '--gpus' 옵션을 통해 NVIDIA Container Toolkit과 통합되어 GPU접근을 지원한다. 따라서 별도의 'nvidia-docker'플러그인 설치 없이도 Docker에서 NVIDIA GPU를 사용할 수 있게되었다.

** Docker 19.03이상 버전에서는 실행시 'docker run --gpus all ~' 옵션을 사용하여 컨테이너에 GPU 접근을 허용할 수 있다.

 

 

 

 

1-7. (터미널) cuda 사용 가능 확인

python
import torch
torch.cuda.is_available()

 

 

 

 

 


2. Jupyter Notebook 설치

2-1. (터미널) 컨테이너 내에서 Jupyter Notebook 설치

pip install jupyter

 

 

 

2-2. (터미널) config 파일 생성

jupyter notebook --generate-config

 

 

 

2-3. (터미널) Vim 에디터 설치

apt-get update
apt install vim

 

 

 

2-4. (터미널) Config파일 열고 편집

vim /root/.jupyter/jupyter_notebook_config.py

 

 

'i' 누르면 편집 가능한 모드

'esc' 누르면 읽기만 가능한 모드 

 

c = get_config()

c.NotebookApp.ip

c.NotebookApp.password

c.NotebookApp.notebook_dir 설정

 

 

 


3. 기본적인 확인 사항

3-1.(터미널) python

python

 

 

컨테이너 내부에서 'python'명령어를 실행

 

 

 

3-2. (터미널) torch 버전 확인

import torch
torch.__version__

 

 

 

 

3-3. (터미널) python 셸 종료

 

 

 

 

3-4. (터미널) 해당 컨테이너에서 빠져나가기

 

 

 


4. 필요한 라이브러리 설치(옵션)

pip install pandas
pip install matplotlib
pip install seaborn
pip install scikit-learn
pip install SimpleITK

*python 인터프리터를 종료 한 상태에서 설치 해야함.

 

 

※ 잘못된 예 (python 인터프리터에서 라이브러리 설치)

 

 

※ 올바른 예 (python 인터프리터 종료 후, 라이브러리 설치)

 

 

 


5. 도커 컨테이너 백업 (옵션)

docker export -o ./<file_name>.tar <내보낼 이름>

docker export -o ./sdp_container_jh.tar gpu_server

 

도커 컨테이너를 파일로 내보내어 백업

 

 

 


6. 도커 실행해보기

6-1. 해당 도커 (컨테이너)가 실행중인지 확인

docker ps -a

 

 

해당 도커(CONTAINER ID = be21b79b6efb) 실행중임을 확인

- 해당 도커의 STATUS가 'Up 00 minutes'등으로 표시되었다면, 실행중인 상태라는 의미

 

 

*만약 도커가 중지된 상태인경우 다음과 같이 출력됨

- 해당 도커의 STATUS가 'Exited ~ ago'등으로 표시되었다면, 중지된 상태라는 의미

 

 

도커가 중지 상태인 경우, docker start <CONTAINER ID> 로 실행시켜주기

docker start be21b79b6efb

 

 

 

 


 

6-2. 해당 도커 컨테이너로 진입

docker exec -it <CONTAINER ID> bash

docker exec -it be21b79b6efb bash

 

 

 

 


 

6-3. 웹에서 도커 컨테이너 실행

 

6-3-1. jupyter notebook 실행

jupyter notebook --allow-root

 

 

6-3-2. 'Open in Browser'클릭

 

 

 

6-3-3.

 

 

 


7. 기타

실행중인 모든 컨테이너 중지

docker stop $(docker ps -aq)

 

 

 

모든 컨테이너 제거

docker rm $(docker ps -aq)

 

 

 

모든 도커 이미지 제거

docker rmi $(docker images -q)

 

 

도커 강제 제거

docker rmi -f $(docker images -q)

 

 

 


▶ 윈도우 11에서 도커 설치하기 (링크)

반응형