Я создаю образ 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?