reactjs - Heroku 容器化应用程序无法运行 - 错误代码 H10
问题描述
我是 Docker 新手,正在尝试在 Heroku 上部署我的第一个容器化应用程序。我使用“create-react-app”创建了一个反应应用程序,构建了一个映像,并且可以在本地运行它(基本说明位于 [https://mherman.org/blog/dockerizing-a-react-app/])。我在 Heroku 上创建了一个新应用程序,通过我的 GitHub 存储库部署代码。我将图像推送到 heroku 注册表并将其发布到应用程序。我的第一次尝试因 H14 错误而失败,所以我确保我的测功机使用“heroku ps:scale web=1”进行了放大。根据 Heroku 文档,我还将以下内容添加到 Dockerfile:
RUN adduser -D myuser
USER myuser
我重新构建了图像,再次推送并发布它,打开应用程序后出现H10错误,这是非特定的。
日志显示“> react-scripts start”和“正在启动开发服务器...”,但在那之后,他们说“heroku [web.1]:进程以状态0退出”。Heroku 经历了两次这个过程,然后吐出:
heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=containerized-portfolio.herokuapp.com request_id=0794c509-8e9d-4bc5-9217-f1a254a5c357 fwd="97.116.93.216" dyno= connect= service= status=503 bytes= protocol=https
我没有找到任何信息来帮助解决这个问题。Heroku 上的其他非容器化应用程序正在运行,因此问题肯定出在这个问题上。
这是 Dockerfile:
#pull official base image
FROM node:13.12.0-alpine
#set working directory
WORKDIR /app
# add '/app/node_modules/.bin' to $Path
ENV PATH /app/node_modules/.bin:$PATH
# install app dependencies
COPY package.json ./
COPY package-lock.json ./
RUN npm install --silent
RUN npm install react-scripts@3.4.0 -g --silent
# add app
COPY . ./
# set up non-root user (recommended for Heroku)
RUN adduser -D myuser
USER myuser
# start App
CMD ["npm", "start"]
编辑:我再次构建图像并将其推送到 Heroku,但我现在无法将图像发布到应用程序。我得到“预期响应成功,得到 404”。我没有找到有关此错误的任何帮助。
建议?
解决方案
推荐阅读
- javascript - 模态内的单击事件:无法读取 null 的属性“单击”
- php - 我可以在 php.ini 中有等效的 ob_implicit_flush() 和 ob_end_flush() 吗?
- javascript - 如何通过每个对象元素迭代对象数组?
- c# - 如何使用 C# 参数插入 SQL 数据库?
- unit-testing - 如何运行不在 lib.rs 或 main.rs 中的测试?
- elasticsearch - 将 Elastic Search 从 7 降级到 6?
- php - php api从不同的键json中删除重复的值
- javascript - 是否可以在 GoJS 中使组不相交?
- json-ld - JSON-LD:“语法错误:需要值、对象或数组。”
- c++ - 在 C++11 或以上,有没有办法通过 lambda 实现单方法纯虚拟 C++ 接口?