我做了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=-
不确定出什么问题以及如何调试。任何帮助表示赞赏!
答案 0 :(得分:3)
从ENTRYPOINT
更改为CMD
为我解决了此问题
答案 1 :(得分:0)
您需要在Dockerfile的末尾指定一个CMD
指令。
Heroku在其文档中对此不清楚。我可以像以前一样,在没有CMD
指令的情况下使容器在本地运行。但是,如果您阅读Heroku文档here或here,您会发现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