有类似的帖子,但我的情况是非常具体的nodejs -前端-后端- docker - heroku,所以我已经坚持了整整一个星期了。
任务:我有两个文件夹前端和后端。我有Dockerfile在他们两个像这样/前端/Dockerfile和/后端/Dockerfile。我也有docker-compose。
尝试1:更改为Dockerfile.frontend和Dockerfile.backend。我用heroku:container push --recursive
。在Heroku上成功部署,我已经有scale=1
了。它不工作。
尝试2:将Dockerfile.frontend更改为Dockerfile。web和Dockerfile.backend。前端网页是工作的,但我不能登录,所以我不能说肯定。我不能调用api请求与POST https://mycoolapp.herokuapp.com/api/users/login
后端。我也用了Postman,但是没有结果。
我的猜测:后端要么不工作,否则我使用process.env.PORT || localhost:5000
不正确。
我真的需要帮助。对不起,我的英语不好。谢谢你。
我通过将前端和后端推送到不同的应用程序来解决这个问题。
对于每个文件夹,我将有一个Procfile,web npm start
然后,我将前端的API从localhost:5000/api/info
更改为myappname.herokuapp.com/api/info
解释:我认为'web'进程类型是唯一接受外部HTTP的特殊类型。所以我的后端以前没有工作,而我的前端(web)工作。