python -V # python 3.10.6
poetry init
poetry add torch torchvision
Docker image를 빌드하기 위한 정보를 담은 파일 생성
FROM 이미지이름:태그
COPY 로컬 디렉토리(파일) 컨테이너 내 디렉토리(파일)
WORKDIR 컨테이너 내 디렉토리
ENV 환경변수이름=값
RUN 실행할 리눅스 명령어
CMD [ "실행할 명령어", "인자" ]
FROM 이미지이름:태그
이미지 빌드에 사용할 베이스 이미지를 지정
COPY 로컬 디렉토리(파일) 컨테이너 내 디렉토리(파일)
Dockerfile이 존재하는 경로를 기준으로 로컬 디렉토리를 컨테이너 내부의 디렉토리로 복사함
WORKDIR 컨테이너 내 디렉토리
Dockerfile의 RUN, CMD, ENTRYPOINT 등의 명령어를 실행할 컨테이너 경로 지정
RUN 실행할 리눅스 명령어
실행할 리눅스 명령어를 적어줌. 명령어가 여러 개인 경우 && \로 이어줌
CMD [ "실행할 명령어", "인자" ]
docker run으로 컨테이너를 만들 때 실행할 명령어
Example
FROM pytorch/pytorch:1.13.1-cuda11.6-cudnn8-runtime
COPY . /app
WORKDIR /app
ENV PYTHONPATH=/app
ENV PYTHONBUFFERED=1
RUN pip install pip==23.0.1 && \
pip install poetry==1.2.1 && \
poetry export -o requirements.txt && \
pip install -r requirements.txt
CMD [ "python", "main.py" ]
docker build -t 빌드할이미지이름:태그이름 Dockerfile이 위치한 경로
docker run 이미지이름:태그
태그가 latest인 경우 생략할 수 있습니다.
docker hub에 만든 이미지를 push
docker login
docker tag 기존이미지:태그 docker hub 계정ID/이미지이름:태그
docker push 계정ID/이미지이름:태그
docker pull 계정ID/이미지이름:태그