Pytorch 컨테이너 생성하기
본인의 cuda version을 확인 후에 그에 알맞는 pytorch image 파일을 다운로드 받아야 한다.
-> cuda 사용 가능한 pytorch image 파일을 다운로드 받는다고 생각하자.
cuda version은
nvcc -V
를 이용해서 확인한다.
지금 내 리눅스에 깔린 cuda version은 11.5버전이다.
https://hub.docker.com/r/pytorch/pytorch/tags
위의 사이트에서 본인의 cuda version과 맞는 pytorch image 파일을 다운로드 하는 명령어를 복사해온다.
필자는 11.5버전이 없어서 11.7버전을 다운로드 했다.
doker images 명령어를 통해서 pytorch image가 설치되었는지 확인한다.
docker images
cuda 사용가능한 pytorch image 파일이 설치 되었음을 확인했고,
이제 다운받은 image를 가지고 pytorch 컨테이너를 생성한다.
컨테이너 생성 옵션은
--it : 컨테이너의 shell이나 CLI 도구를 사용할 때 쓰는 옵션
–gpus all : Container 내부에서 GPU를 쓸 수 있도록 한다. nvidia toolkit이 설치되어 있어야 한다.
--name : Container의 이름을 지정.
/bin/bash : Container 생성 시 시작할 프로세스이다
docker run -it --gpus all --name pytorch-test pytorch/pytorch:2.0.0-cuda11.7-cudnn8-devel /bin/bash
pytorch-test라는 이름의 컨테이너 안으로 들어오게되고,
여기에서 python을 실행 해
pytorch가 import 되는지 , cuda가 잡히는지 확인한다.
import torch
torch.cuda.is_available()
torch.cuda.device_count()
exit() # 확인 후 파이썬 종료
pytorch-test 컨테이너 안에 jupyter lab을 설치한다.
conda install jupyterlab
컨테이너에서 여태까지 한 작업을 image파일로 commit 하기
일반적으로 도커 컨테이너 상에서 작업한 내용들은 컨테이너가 종료되면 함께 사라진다. 따라서 도커 컨테이너 상에서 작업한 내용을 이미지로 커밋(commit)하여 나중에 해당 이미지로 다시 컨테이너를 실행함으로써 작업했던 내용을 다시 사용할 수 있다.
먼저 컨테이너를 exit로 종료한 후
docker ps -a 로 방금 종료한 컨테이너 아이디를 확인한다.
그 후에
docker commit 2b956d5b4887 pytorch-test:new-version
docker commit (컨테이너 아이디) (이미지 아이디)
으로 명령어를 입력한다.
결국엔 컨테이너 안에 jupyter lab 설치 한 후에 커밋한 것이다.
커밋으로 생성된 이미지로 컨테이너를 실행한다.
Pytorch 컨테이너에서 jupyter lab 실행하기
다음에는 웹 브라우저에서 jupyter lab을 실행할 수 있게 아래 명령어를 입력한다.
jupyter lab --ip=0.0.0.0 --port=8888 --allow-root
그런데, 출력 결과로 나온 웹브라우저를 실행 할 수 없었다.
컨테이너를 exit로 빠져나오고
docker run -it --gpus all -p 8888:8888 pytorch-test:new-version
명령어를 입력해서 다시 컨테이너를 접속한다.
컨테이너 실행시 -p 8888:8888 을 반드시 사용해서 접속해야한다고 한다. 안쓰면 웹브라우져 켤수없다.
그 이후에 다시
jupyter lab --ip=0.0.0.0 --port=8888 --allow-root
명령어 실행 후 나오는 웹브라우저 링크는 접속이 가능하다.
참고
https://velog.io/@ho-tae/%EB%8F%84%EC%BB%A4Docker-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%83%9D%EC%84%B1
https://tttsss77.tistory.com/230
'devops > docker' 카테고리의 다른 글
docker의 여러 컨테이너를 생성 후 연결해서 실행 (워드프레스, MySQL 연동) (2) | 2024.03.20 |
---|---|
WSL2 ubuntu 22.04 인스턴스에 docker 설치 에러 (Cannot connect to the Docker daemon) (0) | 2023.04.15 |
맥 도커(docker) 설치 (0) | 2021.10.07 |