파이썬을 위한 Dockerfile 작성하기
📅 March 27, 2017
•⏱️1 min read
Docker가 처음이라면, 이전 포스팅을 참고하시기 바랍니다.
Flask Application
Dockerfile은 일종의 이미지 설정파일입니다. build
명령어를 통해 이미지를 생성할 수 있습니다.
파이썬 웹 어플리케이션을 Docker로 실행시키는 예제를 통해 천천히 정리해보겠습니다.
From flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, world!'
if __name__ == '__main__':
app.run(debug=True,host='0.0.0.0')
먼저 위와 같이 간단한 플라스크 웹 어플리케이션을 작성합니다.
필요한 패키지는 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번 포트를 확인해보면 플라스크 어플리케이션이 실행된 것을 확인할 수 있습니다.