Heroku上的“未为进程类型Web指定命令”

时间:2019-04-30 02:59:14

标签: docker heroku

我做了heroku container:push web,它给出了Your image has been successfully pushed. You can now release it with the 'container:release' command.,然后我运行了heroku container:release web,它说

No command specified for process type web

我也按照建议的here尝试了heroku stack:set container,但没有任何变化。

我的个人资料为

web: gunicorn app:app --log-file=-

不确定出什么问题以及如何调试。任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:3)

ENTRYPOINT更改为CMD为我解决了此问题

答案 1 :(得分:0)

您需要在Dockerfile的末尾指定一个CMD指令。

Heroku在其文档中对此不清楚。我可以像以前一样,在没有CMD指令的情况下使容器在本地运行。但是,如果您阅读Heroku文档herehere,您会发现Heroku认为Dockerfile将指定要运行的CMD是理所当然的。

我读到here,说Heroku要求所有图像都必须指定CMD指令,但是我在Heroku文档中找不到它。

在我在Dockerfile的末尾添加CMD指令之前,我遇到了同样的问题。尽管我应该正确地将其作为CMD指令的内容,但我仍在工作,但我不再遇到No command specified for process type web错误。

这是CMD上的Docker文档:https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#cmd