개발환경/Docker

[Docker] Docker를 이용한 모델 학습 루틴, image 관리 (2022 이전)

Ella_K 2022. 6. 19. 02:35

1.  docker 파일로 image생성 또는 docker pull

docker build -t <docker id / image이름>:<tag> <docker file 경로>

or

docker login
docker pull <이미지 이름>:<tag>
docker image tag <기존의 이미지명>:<기존의 태그명> <docker id / image이름>:<새로운 태그명>
image 이름은 docker hub에서 관리할 수 있도록 <docker id / image이름>:<tag> 를 사용한다.

 

2.  Screen 생성 또는 attach

screen -S <스크린 이름>

or

screen -r <스크린 이름>

 

3.  가상터미널에서 docker run

nvidia-docker run -v <마운트할 디렉토리> -it --shm-size 100G --name <container 이름> --rm <docker id / image이름>:<tag> /bin/bash

 

4.  container에 설치할 것 더 있으면 설치

pip install <라이브러리>

 

5. 모델학습

sh train.sh
 
or

CUDA_VISIBLE_DEVICES=0,1,2,3 python ~.py ~

 

6.  image 업데이트 (변경된 container 상태를 image에 commit)

docker commit <container id 또는 이름> <image 이름>:<tag>

 

7.  image를 docker hub에 push

docker push <docker id / image이름>:<tag>