반응형
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 환경을 구분할 수 있다.
'Old Branch' 카테고리의 다른 글
ELK 사용해서 flask 로그 분석하기 (1) | 2020.06.15 |
---|---|
python logging 파이썬 로깅 (feat. Flask) (0) | 2020.06.01 |
Elastic Search field 와 field.keyword의 차이 (0) | 2020.05.28 |
Python - kinesis 데이터 주고받기 (0) | 2020.05.27 |
TIP - 장고 데이터베이스 여러개 사용하기 (Django multidatabase) (3) | 2020.03.20 |