标签:RUN gunicorn etc Flask app nginx conf supervisord
Dockerfile
FROM registry.cn-hangzhou.aliyuncs.com/hzmodi/python3.8:v2
RUN sed -i "s@/archive.ubuntu.com/@/mirrors.163.com/@g" /etc/apt/sources.list \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get update --fix-missing -o Acquire::http::No-Cache=True
RUN apt install -y nginx supervisor pngquant
RUN pip install gunicorn
# flask application
RUN mkdir /root/compression
WORKDIR /root/compression
COPY app.py /root/compression/
COPY requirements.txt /root/compression/
RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
# nginx
RUN rm /etc/nginx/sites-enabled/default
COPY flask.conf /etc/nginx/sites-available/
RUN ln -s /etc/nginx/sites-available/flask.conf /etc/nginx/sites-enabled/flask.conf
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
# supervisord
RUN mkdir -p /var/log/supervisor
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY gunicorn.conf /etc/supervisor/conf.d/gunicorn.conf
# run
CMD ["/usr/bin/supervisord"]
flask app.py
from flask import Flask, request
app = Flask(__name__)
# app.config['FLASK_ENV'] = 'development'
@app.route('/', methods=['GET'])
def index():
return 'hello world'
if __name__ == '__main__':
app.run(host='0.0.0.0')
gunicorn.conf
[program:gunicorn]
command=gunicorn --workers=2 app:app -b 0.0.0.0:4396
directory=/root/compression/
nginx.conf
server {
listen 80;
location / {
proxy_pass http://127.0.0.1:4396;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
supervisord.conf
[supervisord]
nodaemon=true
[program:nginx]
command=/usr/sbin/nginx
标签:RUN,gunicorn,etc,Flask,app,nginx,conf,supervisord 来源: https://blog.csdn.net/qq_42004597/article/details/120953582
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。