Old Branch
Docker와 Nginx, uwsgi를 사용해서 Flask App 만들기
woolbro
2020. 5. 29. 13:00
반응형
Docker - Nginx - uwsgi - Flask : with tiangolo's dockerfile
Using Docker, Buidl Flask App
Docker에 나의 Flask App 만들기
Set Up My Flask Project
Docker에 올릴 Flask앱을 먼저 만든다
-
Project Structure
project_root_dir ├── Dockerfile ├── app │ └── main.py ├── requirements.txt └── venv
-
Activate Virtual Env
$ virtualenv venv $ source venv/bin/activate
-
Install Flask & freeze my python package
$ python3 -m pip install flask or $ pip3 install flask
-
main.py
$ vim main.py
#main.py from flask import Flask # the all-important app variable: app = Flask(__name__) @app.route("/") def hello(): return "Oh, Hello World" if __name__ == "__main__": app.run(host='0.0.0.0', debug=True, port=80)
-
test run flask
$ python3 main.py
Make a Dockerfile
docker 명령어를 실행할 수 있게 Dockerfile을 만들어 준다
-
Make a Dockerfile
Dockerfile
FROM tiangolo/uwsgi-nginx-flask:python3.6 COPY requirements.txt /tmp/ RUN pip install -U pip RUN pip install -r /tmp/requirements.txt COPY . /app
-
Docker build
$ docker build -t test_flask_app .
-
Docker run
$ docker run -p 80:80 -t test_flask_app $ docker run -e ENV='development' -p 80:80 -t test_flask_app
Docker run 시에 -e 옵션으로 환경변수를 주어 dev/prod 환경을 구분할 수 있다.