-
[Docker for ML #4] 딥러닝 학습 시작하기개발 환경/Docker 2020. 8. 28. 17:32반응형
123편에서 docker의 기본적인 명령어와 사용법을 익혔다. 이제 진짜 학습을 시작해보자.
1. --rm 옵션
--rm 옵션은 컨테이너가 내려가면 바로 컨테이너를 삭제하는 옵션이다. 딥러닝을 학습할 때 보통 코드가 다 돌고 컨테이너를 나가면 더이상 필요가 없기 때문에 이 옵션을 자주 사용하게 된다.
2. bash로 들어가서 명령어를 두번 실행하지 말자.
이해를 위해 계속 bash로 들어갔지만 사실 그냥 바로 python 명령어를 실행해도 된다.
docker run --rm --gpus=all -v ~/PycharmProjects/mnist:/opt/project tensorflow2 python main.py
- docker run
- --rm: 컨테이너 삭제
- --gpus=all: GPU 사용
- -v ~/PycharmProjects/mnist:/opt/project: 마운트
- tensorflow2: 이미지 이름
- python main.py: 명령어 실행
3. Dockerfile에서 CMD를 사용하자.
FROM tensorflow/tensorflow:latest-gpu MAINTAINER sah0322@naver.com RUN apt-get -y update RUN pip install --upgrade pip RUN pip install tensorflow_datasets pymongo sklearn pyyaml python-Levenshtein WORKDIR /opt/project CMD ["python", "./main.py"]
Dockerfile 맨 아래에 CMD를 사용하면 컨테이너가 실행될 때 아무런 명령어를 주지 않으면 저 CMD에 있는 명령이 실행된다.
그러면 이제 명령을 실행할 때
docker run --rm --gpus=all -v ~/PycharmProjects/mnist:/opt/project tensorflow2
까지만 적으면 된다.
4. 결론
이정도만 알면 딥러닝 개발자가 Docker를 사용하는데에는 아무런 지장이 없을 것이다!
차후에 검색해보면 좋은 것
- Docker compose
- Kubernetes
- MLOps
- Kubeflow
반응형'개발 환경 > Docker' 카테고리의 다른 글
[Docker for ML #3] 로컬 디렉토리와 컨테이너 마운트하기 (0) 2020.08.28 [Docker for ML #2] 나만의 개발환경 만들기 (Dockerfile) (0) 2020.08.28 [Docker for ML #1] 설치와 기본 명령어 (0) 2020.08.28 Docker, docker-compose에 원하는 GPU만 할당하기 (0) 2020.05.21 Docker compose 원하는 log만 출력하기 (0) 2020.04.16 - docker run