如何在相同的 Heroku 应用程序但不同的 docker 镜像中部署前端和后端

Ces*_*sar 6 heroku docker devops

我正在创建一个 Web 应用程序,前端使用 Angular,后端使用 Flask。我已经“dockered”了我的应用程序,但我不确定如何在 Heroku 中将它们作为相同的应用程序获取

我一直在读到有些人使用了反向代理服务器(这意味着两个应用程序都在不同的 heroku 应用程序中,他们使用像 traeffik 或 haproxy 这样的代理连接它们)。但我并不想这样做,我想他们是在同一个应用程序(例如:grupo-camporota.herokuapp.com

我在想我应该推送两个图像,一个作为 Web dyno(前端),另一个作为工作人员(后端),但我读到工作的 dyno 不是为了这个,而是为了 EXTERNAL api。我想将两个图像上传到 heroku 并让它们在它们之间进行通信。

我想知道如何完成这项工作(我很确定这是可能的),因为我有点迷茫

Chr*_*ris 4

您的后端不能是工作测功机:只有网络测功机可以接收来自互联网的流量。并且一个应用程序只能获得一个端口来侦听,因此您无法在单个应用程序上运行两个服务。

您可以从后端将前端作为静态文件提供服务,但我认为这不适用于 Docker。另外,Flask 本身不喜欢提供静态文件,因此这可能也不适合。

看起来 您也无法使用 Heroku 上的专用网络在 Docker 容器之间进行通信。您可能只需要部署两个应用程序(或者将前端托管在更合适的静态主机上)。