【问题标题】:Unable to access web app on Heroku server using docker无法使用 docker 访问 Heroku 服务器上的 Web 应用程序
【发布时间】:2021-09-18 09:42:25
【问题描述】:

我想使用 docker 在 Heroku 上托管我的网络应用

这是我的 Dockerfile

FROM alpine:latest as base
RUN apk add --no-cache --update python3 py3-pip bash
ADD ./webapp/requirements.txt /tmp/requirements.txt
RUN pip3 install --no-cache-dir -q -r /tmp/requirements.txt
ADD ./ /webapp/
WORKDIR /webapp
CMD uvicorn main:app --host 0.0.0.0 --port ${PORT} --log-level trace --use-colors

我使用 docker-compose(通过设置 PORT=8000)检查了 Web 应用程序在我的 Mac(本地主机)上的工作情况

但在 Heroku 服务器上,部署已完成,但我无法访问该应用程序。 以下是我访问 Heroku 生成的链接时遇到的错误。 响应应该是 200 代码,并返回“Hello world”

2021-09-18T05:49:29.841550+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=(my-app-name) request_id=d514423e-de8c-4f65-8277-25d1123e7a6e fwd="150.249.159.207" dyno= connect= service= status=503 bytes= protocol=https
2021-09-18T05:49:30.097458+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=(my-app-name) request_id=ae880636-68bf-4f20-9ee1-e78abcecac81 fwd="150.249.159.207" dyno= connect= service= status=503 bytes= protocol=https

有人知道我如何访问我的应用程序吗? 我猜是因为 PORT 环境

最好的问候。

【问题讨论】:

  • 能否请您尝试使用其他基本映像?例如debianubuntu。我很久以前在 k8 上遇到过同样的问题

标签: docker heroku


【解决方案1】:

不要在$PORT 周围使用大括号

--port $PORT

【讨论】:

  • 有效!!非常感谢。但是即使我写了“WORKDIR /webapp”,我也必须添加目录“CMD uvicorn webapp.main:app”。你知道为什么吗??
猜你喜欢
  • 1970-01-01
  • 2018-12-10
  • 2019-09-27
  • 2015-12-06
  • 1970-01-01
  • 1970-01-01
  • 2018-03-21
  • 1970-01-01
相关资源
最近更新 更多