当我使用以下Dockerfile
和heroku.yml
将Vue.js应用程序推送到Heroku应用程序时,它运行良好。
bootstrapdebug/Dockerfile
:
FROM node:12.10.0-alpine
WORKDIR /app
COPY . /app/bootstrapdebug
WORKDIR /app/bootstrapdebug
RUN apk update && \
npm install
CMD ["npm", "run", "serve", "--", "--port", "$PORT"]
heroku.yml
:
build:
docker:
web: bootstrapdebug/Dockerfile
config:
NODE_ENV: production
但是,在heroku.yml
中,一旦将图像名称从web
更改为vue
(或任何其他名称),应用程序就会因出现以下错误而卡住。
即使在我将图像名称恢复为“ web”之后,也会发生这种情况。
我从heroku logs --tail
得到的最后一行:
2019-09-23T08:24:20.747248+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=murmuring-anchorage-42007.herokuapp.com request_id=e12af6b0-4139-4bad-8ab8-a07559587d3a fwd="126.112.54.50" dyno= connect= service= status=503 bytes= protocol=https
为什么会这样?
我所做的与制作这个项目有关
vue-cli create bootstrapdebug
cd bootstrapdebug && npm install
答案 0 :(得分:0)
如果您希望您的应用程序响应HTTP it must be declared as a web
process:
Heroku应用程序的
web
进程类型很特殊:它是唯一可以从Heroku路由器接收外部HTTP流量的进程类型。如果您的应用包含Web服务器,则应将其声明为应用的web
进程。
除web
外,release
process type is also special:
release
进程类型用于指定在应用程序的release phase期间运行的命令。...
除了web和release之外,没有其他进程类型具有特殊的属性。