首页 > 解决方案 > 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”。我没有找到有关此错误的任何帮助。

建议?

标签: reactjsdockerherokudeployment

解决方案


推荐阅读