Я хочу развернуть приложение Flask в Google App Engine Flex с помощью Docker.
Я установил образ Docker локально и смог запустить приложение Flask с помощью команд
docker build -t myreponame .
, а затем docker run -p 4000:80 myreponame
.
После этого я смог увидеть свое приложение по URL http://localhost:4000, и оно работало нормально.
Однако, когда я пытаюсь развернуть его в Google App Engine с помощью gcloud app deploy
и перейти по URL http://YOUR_PROJECT_ID.appspot.com,, я получаю «502 Ошибка сервера».
Я подозреваю, что, возможно, конфигурация порта.
Должен ли я по-другому определить следующее в своем коде Flask?
if __name__ == '__main__':
HOST = '0.0.0.0'
PORT = 80
app.run(HOST, PORT, debug=True)
Или я должен определить мой app.yaml
файл по-другому?
runtime: custom
env: flex
entrypoint: gunicorn -b :$PORT app:app
My Dockerfile
содержит следующее:
FROM python:2.7
WORKDIR /app
COPY . /app
RUN pip install --trusted-host pypi.python.org -r requirements.txt
EXPOSE 80
CMD ["python", "app.py"]
Любая помощь будет приветствоваться. Большое спасибо