【发布时间】: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 环境
最好的问候。
【问题讨论】:
-
能否请您尝试使用其他基本映像?例如
debian或ubuntu。我很久以前在 k8 上遇到过同样的问题