파이썬을 위한 Dockerfile 작성하기

​ ​

Docker가 처음이라면, 이전 포스팅을 참고하시기 바랍니다.

Flask Application

Dockerfile은 일종의 이미지 설정파일입니다. build 명령어를 통해 이미지를 생성할 수 있습니다. 파이썬 웹 어플리케이션을 Docker로 실행시키는 예제를 통해 천천히 정리해보겠습니다.

먼저 위와 같이 간단한 플라스크 웹 어플리케이션을 작성합니다. 필요한 패키지는 requirements.txt로 관리합니다. pip freeze > requirements.txt 명령어를 통해 파일을 생성할 수 있습니다.

Flask==0.12

​ ​

Dockerfile 작성하기

FROM ubuntu:latest
MAINTAINER your_name "email@gmail.com"
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
ENTRYPOINT ["python"]
CMD ["app.py"]

위와 같이 Dockerfile을 작성하시면 됩니다. 간단히 설명하자면, ubuntu 이미지를 받아와서 파이썬 환경설정을 하고 현재 경로에 있는 폴더를 복사해서 파이썬 패키지를 설치하고 앱을 실행시키는 이미지입니다.

​ ​

Dockerfile 빌드 및 실행하기

$ docker build -t flask-application:latest .
$ docker run -d -p 5000:5000 flask-application

docker build [name] 명령어를 통해 이미지를 빌드합니다. 그리고 docker run [image] 명령어를 통해 컨테이너를 실행시킵니다. -p 옵션은 포트를 지정하며, -d 옵션은 백그라운드로 실행시키는 옵션입니다. 5000번 포트를 확인해보면 플라스크 어플리케이션이 실행된 것을 확인할 수 있습니다.

​ ​