404 Хост не найден при использовании Gevent с Gunicorn Flask - PullRequest
0 голосов
/ 02 августа 2020

Я создаю образ docker, в котором я запускаю сервер Gunicorn для своего приложения python flask. Но я получаю 404 Host not found, когда делаю любой REST-запрос к своему приложению. Приложение запускается, но не может обслуживать запросы REST.

Я запускаю сервер Gunicorn с помощью следующей команды:

gunicorn --access-logfile '-' --log-level debug --worker-class gevent --worker-connections 1000 runner:app

Приложение работает нормально, когда я использую:

gunicorn --workers 1 --threads 30 --bind 0.0.0.0:5000 --access-logfile '-' --log-level debug runner:app

Почему я могу получать 404 при использовании Gevent?

Dockerfile:

FROM gcr.io/google-containers/python:3.5.1-slim
COPY ./requirements.txt /app/requirements.txt
WORKDIR /app
RUN pip install -r requirements.txt
COPY src/ /app
RUN chmod +x startup_script.sh
ENTRYPOINT /bin/bash -x startup_script.sh

startup_script. sh:

#!/bin/bash
apt-get update
apt-get -y install file python3-dev libffi-dev gcc musl-dev libevent-dev make
pip install -U setuptools
pip install gunicorn[gevent]
gunicorn --access-logfile '-' --log-level debug --worker-class gevent --worker-connections 1000 runner:app

requirements.txt:

cryptography==2.9.2
ecdsa==0.15
Flask==1.1.2
PyJWT==1.7.1
python-json-logger==0.1.11
requests==2.24.0
gunicorn==20.0.4
xmltodict==0.12.0
netifaces==0.10.9

Код из Python Flask:

app = Flask(__name__)

@app.route('/')
def base():
    logging.info('received request')
    return "This is base"

Почему я могу получать 404 при использовании Gevent?

...