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에서 도커 설치하기 (링크)