[英]How to deploy to Heroku with Nodejs frontend, backend, and Docker
有類似的帖子,但我的案例在 NodeJS-frontend-backend-Docker-Heroku 上非常具體,所以我已經堅持了整整一周。
任務:我有 2 個文件夾前端和后端。 我在這兩個文件中都有 Dockerfile,例如 /frontend/Dockerfile 和 /backend/Dockerfille。 我在根目錄中還有 docker-compose.yml 和 Procfile。
嘗試 1:更改為 Dockerfile.frontend 和 Dockerfile.backend。 我使用heroku:container push --recursive
。 在 Heroku 上成功部署,我也已經有scale=1
。 它不起作用。
嘗試 2:將 Dockerfile.frontend 更改為 Dockerfile.web 和 Dockerfile.backend。 前端 web 正在運行,但我無法登錄,所以我不能確定。 我無法使用POST https://mycoolapp.herokuapp.com/api/users/login
向后端調用 api 請求。 我也用過 Postman 也沒有任何反應。
我的猜測:后端要么根本不工作,要么我使用process.env.PORT || localhost:5000
process.env.PORT || localhost:5000
不正確。
我真的需要幫助。 對不起我的英語不好。 謝謝你。
我通過將前端和后端推送到不同的應用程序來解決它。
對於每個文件夾,我將有 1 個具有web npm start
的 Procfile
然后,我將前端的 API 從localhost:5000/api/info
更改為myappname.herokuapp.com/api/info
說明:我相信“網絡”進程類型是唯一接受外部 HTTP 的特殊進程類型。所以我的后端以前沒有工作,而我的前端(網絡)工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.