【问题标题】:How to deploy to Heroku with Nodejs frontend, backend, and Docker如何使用 Nodejs 前端、后端和 Docker 部署到 Heroku
【发布时间】:2021-11-21 22:55:33
【问题描述】:

有类似的帖子,但我的案例非常具体在 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。前端网络正在运行,但我无法登录,所以我不能肯定地说。我无法使用POST https://mycoolapp.herokuapp.com/api/users/login 调用 api 请求到后端。我也使用了 Postman,但什么也没发生。

我的猜测:后端要么根本不工作,要么我错误地使用了process.env.PORT || localhost:5000

我真的需要这方面的帮助。对不起我的英语不好。谢谢。

【问题讨论】:

    标签: node.js docker heroku


    【解决方案1】:

    我通过将前端和后端推送到不同的应用程序来解决它。

    对于每个文件夹,我将有 1 个具有 web npm start 的 Procfile

    然后,我会将前端的 API 从 localhost:5000/api/info 更改为 myappname.herokuapp.com/api/info

    说明:我相信“web”进程类型是唯一接受外部 HTTP 的特殊类型。所以我的后端以前不工作,而我的前端(网络)工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-23
      • 1970-01-01
      • 2021-05-13
      • 2019-09-25
      • 2021-01-11
      • 2020-11-16
      • 1970-01-01
      相关资源
      最近更新 更多