Infra/Docker

도커 파일 작성 기본 예제(파이썬 프로젝트 예시)

jimmy_AI 2023. 9. 27. 00:09
반응형

프로젝트 파일을 도커로 빌드하기 위해서는 Dockerfile 작성이 필요합니다.

 

이번 글에서는 간단한 Python 프로젝트에 대한 Dockerfile 작성 예제를 다루면서

도커 파일 작성 방법에 대한 기초를 살펴보도록 하겠습니다.

 

 

Dockerfile 작성 방법 예시

다음과 같은 디렉토리 구조로 구성된 파이썬 프로젝트가 있다고 가정해 보겠습니다.

/project-directory
    /utils
        util_file.py
    main.py
    Dockerfile
    requirements.txt

 

위의 프로젝트를 도커 환경에서 실행하기 위한 Dockerfile 예시 스니펫은 아래와 같습니다.

# 사용할 Base Image 선택
FROM python:3.9-slim

# 작업 디렉토리 설정
WORKDIR /app

# 필요한 파일들을 Docker 이미지에 복사
COPY main.py .
COPY utils ./utils
COPY requirements.txt .

# 환경 변수 지정
ENV VARIABLE1=value1 \
    VARIABLE2=value2 \
    VARIABLE3=value3

# Python 패키지 설치
RUN pip install --no-cache-dir -r requirements.txt

# 컨테이너 실행 시 실행할 명령어 설정
CMD ["python", "main.py"]

 

반응형

 

Base Image로 3.9 버전 파이썬 중 패키지가 최소한으로만 포함된 slim 버전을 가져왔는데,

다른 Base Image에 대한 내용이 궁금하시다면 아래 링크를 참고해보시면 좋습니다.

 

python - Official Image | Docker Hub

python •• Python is an interpreted, interactive, object-oriented, open-source programming language.

hub.docker.com

 

이후, 작업 디렉토리는 app으로 지정하고, 필요한 파일들을 프로젝트의 실제 디렉토리에 맞추어

도커 내에 똑같이 복사를 진행해주면 됩니다.

 

이후, 환경 변수 지정 및 requirements 패키지를 설치하는 과정 등을 진행하면 되는데,

미리 실행해야 하는 커맨드가 또 있다면 마찬가지로 RUN 뒤에 추가로 작성해주시면 됩니다.

 

모든 세팅이 완료되면 CMD로 원하는 명령어를 적어주시면 준비가 완료됩니다.

 

 

Docker 이미지 빌드 및 컨테이너 실행

이제 도커 파일을 작성하였다면, 이미지 빌드 및 컨테이너 실행을 진행해주시면 됩니다.

 

가장 기본적인 빌드 및 실행 명령어 예시는 아래와 같습니다.

(myapp은 생성될 도커 이미지 이름인데, 원하시는 이름으로 바꿔주셔도 됩니다.)

# Docker 이미지 빌드
docker build -t myapp .

# Docker 컨테이너 실행
docker run myapp

 

이미지 빌드 및 컨테이너 실행과 관련된 상세한 내용들은

추후에 기회가 된다면 포스팅을 작성해보도록 하겠습니다. 감사합니다.