首页 > 解决方案 > 无法使用 docker 访问 Heroku 服务器上的 Web 应用程序

问题描述

我想使用 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 环境

此致。

标签: dockerheroku

解决方案


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

--port $PORT

推荐阅读