現成的鏡像,已經配置好nginx-gunicorn-flask,可直接部署flask 項目nginx
http://hub-mirror.c.163.com
docker pull danriti/nginx-gunicorn-flask
/usr/share/nginx/www/
這個是nginx默認的目錄docker run -it -P --expose 80 --name gunicorn1 -v $PWD/flaskDemo2:/usr/share/nginx/www/flaskDemo2 danriti/nginx-gunicorn-flask
/var/log/nginx
這個是nginx日誌目錄,能夠映射出來docker run -it -P --expose 80 --name gunicorn2 -v $PWD/flaskDemo2:/usr/share/nginx/www/flaskDemo2 -v $PWD/log:/var/log/nginx danriti/nginx-gunicorn-flask
docker exec -it gunicorn1 bash
cd /usr/share/nginx/www/flaskDemo2
手動運行項目 gunicorn -w 4 -b wsgi:app
默認訪問路徑 http://127.0.0.1:8000/docker
wsgi 是文件名,app是入口 app = Flask(__name__)
flask
# -*- coding:utf-8-*- # wsgi.py from flask import Flask app = Flask(__name__) @app.route("/") def hello_world(): return "name" @app.route("/register") def register(): return "hello register" if __name__ == '__main__': app.run()
/etc/nginx/sites-available/
目錄下有配置文件 flask.confserver { listen 80; location / { proxy_pass http://127.0.0.1:8000/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
TODO: 有時間研究一下自動啓動項目bash