Heroku и Docker развернуты с heroku.yml: Как изменить имя изображения с «веб»? - PullRequest
0 голосов
/ 23 сентября 2019

Когда я помещаю свое приложение Vue.js в приложение Heroku со следующими Dockerfile и heroku.yml, оно работает хорошо.

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

Почему это происходит?

PS

То, что я сделал, связано с созданием этого проекта

vue-cli create bootstrapdebug
cd bootstrapdebug && npm install

1 Ответ

0 голосов
/ 23 сентября 2019

Если вы хотите, чтобы ваше приложение отвечало на HTTP , оно должно быть объявлено как web процесс :

Тип процесса web приложения Heroku является особенным: этоединственный тип процесса, который может получать внешний HTTP-трафик от маршрутизаторов Heroku.Если ваше приложение имеет веб-сервер, вы должны объявить его как процесс web вашего приложения.

Помимо web, тип процесса release также является специальным :

Тип процесса release используется для указания команды для запуска во время фазы выпуска приложения .

...

Никакие типы процессов кроме web и release не имеют специальных свойств.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...