【发布时间】:2019-05-30 09:21:10
【问题描述】:
我想使用 Docker 在 Google App Engine Flex 上部署一个 Flask 应用。
我在本地设置了 Docker 映像并设法使用命令运行 Flask 应用程序
docker build -t myreponame .,然后是 docker run -p 4000:80 myreponame。
然后我可以在 URL http://localhost:4000 上看到我的应用程序,并且运行良好。
但是,当我尝试使用 gcloud app deploy 在 Google App Engine 上部署它并转到 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
我的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"]
非常欢迎任何帮助。非常感谢
【问题讨论】:
标签: python docker google-app-engine flask gunicorn