Heroku CLI "Не указана команда для типа веб-процесса" при освобождении контейнера - PullRequest
6 голосов
/ 27 апреля 2019

Я развертываю приложение .Net Core с использованием Docker Containers.

Мне удалось успешно протолкнуть изображение, используя heroku container:push web

, но вызов heroku container:release web возвращает No command specified for process type web.

Я немного озадачен, я пытался добавить heroku.yml

setup:
  addons:
    - plan: heroku-postgresql
      as: DATABASE
build:
  docker:
    web: Dockerfile
  config:
    ASPNETCORE_ENVIRONMENT: development
run:
  web: dotnet Api.dll

в корневой каталог, но все равно не повезло.

Я могу подтвердить, что изображение былосоздал, я вижу это в докереСпасибо!

Ответы [ 2 ]

1 голос
/ 01 июля 2019

Была ли у вас директива CMD, указанная в конце вашего Dockerfile?Если нет, то это, вероятно, стало причиной проблемы, которую вы затем обошли, используя heroku.yml и heroku stack:set container.

. Heroku неясно, что в их документации.Я смог заставить мой контейнер работать локально без директивы CMD, вероятно, как и вы.Но если вы прочитаете документы Heroku здесь или здесь , вы поймете, что Heroku считает само собой разумеющимся, что в Dockerfile будет указано CMD для запуска.

IУ меня была такая же проблема, пока я не добавил директиву CMD в конец моего Dockerfile.Я все еще работаю над тем, что именно я должен указать в качестве директивы CMD, но я больше не получаю ошибку No command specified for process type web.

Поскольку вы переключились на использование heroku.yml, вы смогли обойти CMD с помощью

run:
  web: dotnet Api.dll

Документы Heroku скажем"Если вы не включите раздел run, Heroku использует CMD, указанный в файле Docker."

0 голосов
/ 28 апреля 2019

Я выяснил причину после поиска часов.

Видимо если забыл позвонить heroku stack:set container.

Теперь я могу развернуть и выпустить!

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