如何使用 Nodejs 前端、后端和 Docker 部署到 Heroku
How to deploy to Heroku with Nodejs frontend, backend, and Docker
有类似的帖子,但我的案例是关于 NodeJS-frontend-backend-Docker-Heroku 的,所以我已经坚持了整整一个星期了。
任务:我有 2 个文件夹前端和后端。我在它们中都有 Docker 文件,例如 /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。前端网络正在运行,但我无法登录,所以我不能确定。我无法使用 POST https://mycoolapp.herokuapp.com/api/users/login
调用 api 后端请求。我也用了 Postman 也没有任何反应。
我的猜测:后端要么根本不工作,要么我使用 process.env.PORT || localhost:5000
不正确。
我真的需要帮助。对不起我的英语不好。谢谢。
我通过将前端和后端推送到不同的应用程序来解决它。
对于每个文件夹,我将有 1 个具有 web npm start
的 Procfile
然后,我会将前端的 API 从 localhost:5000/api/info
更改为 myappname.herokuapp.com/api/info
解释 : 我相信 'web' process-type 是唯一接受外部 HTTP 的特殊类型。所以我的后端以前没有工作,而我的前端(网络)工作。
有类似的帖子,但我的案例是关于 NodeJS-frontend-backend-Docker-Heroku 的,所以我已经坚持了整整一个星期了。
任务:我有 2 个文件夹前端和后端。我在它们中都有 Docker 文件,例如 /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。前端网络正在运行,但我无法登录,所以我不能确定。我无法使用 POST https://mycoolapp.herokuapp.com/api/users/login
调用 api 后端请求。我也用了 Postman 也没有任何反应。
我的猜测:后端要么根本不工作,要么我使用 process.env.PORT || localhost:5000
不正确。
我真的需要帮助。对不起我的英语不好。谢谢。
我通过将前端和后端推送到不同的应用程序来解决它。
对于每个文件夹,我将有 1 个具有 web npm start
然后,我会将前端的 API 从 localhost:5000/api/info
更改为 myappname.herokuapp.com/api/info
解释 : 我相信 'web' process-type 是唯一接受外部 HTTP 的特殊类型。所以我的后端以前没有工作,而我的前端(网络)工作。