Dash/Plotly 应用抛出 Heroku R10 错误,即使 $PORT 已设置

问题描述 投票:0回答:0

我有一个用 Dash 制作的网络应用程序,它使用我的 dockerfile 正确部署到 Docker,我试图使用 Heroku 将这个容器上传到网络。我一直收到错误 R10,它未能在超时内绑定到 $PORT,我真的很困惑我做错了什么。

目前这是我拥有的 Dash/Heroku 部分。

ON_HEROKU = os.environ.get('ON_HEROKU')
if ON_HEROKU:
   port = int(os.environ.get("PORT", 8070))  # as per OP comments default is 17995
else:
   port = 8070

...

app = dash.Dash(__name__)
server = app.server

...

if __name__ == "__main__":
   app.run_server(host='0.0.0.0', port=port, debug=True, use_reloader=True)

我的 dockerfile 看起来像这样:


# Use the official lightweight Python image.

# https://hub.docker.com/_/python

FROM python:3.9-slim-buster

RUN apt-get update
RUN apt-get install nano
RUN mkdir wd
WORKDIR wd
COPY requirements.txt .
RUN pip3 install -r requirements.txt

COPY . ./

CMD \[ "gunicorn", "-b 0.0.0.0:8070", "app:server"]

我的 heroku.yml 文件只是指向我的 Dockerfile

build:
   docker:     
      web: Dockerfile

我在端口上做错了什么,或者在我的 dockerfile 中设置它没有正确绑定到端口?或者是否有其他东西在起作用,比如需求文件(如果它在 Docker 上工作,这很奇怪?)任何帮助将不胜感激。谢谢!

python heroku plotly-dash
© www.soinside.com 2019 - 2024. All rights reserved.