docker - 无法使用 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 环境
此致。
解决方案
不要在周围使用大括号$PORT
--port $PORT
推荐阅读
- azure-cosmosdb - 将数据加载到 Azure Cosmos DB (Mongo API)
- azure-devops - 无法使用 NuGet 上游源从 Azure DevOps Artifacts 源下载某些包
- xml - 如何指定这个特定的 xpath
- r - R - 如果超过 25% 的组删除观察
- go - Swagger UI 仍然显示示例
- angular - 使用 Authguard 重定向到上一页
- java - remove() 无法正常工作
- redis - 集群 Redis 6.x 转储还原到 AWS Elasticache 中的独立 redis
- c# - 尝试使用 ReadAsync 报告读取文件的进度时出现 ArgumentOutOfRange 异常
- git - Git 不断提示输入某些文件的密钥 - 多个 Git 用户