Docker angular app containers hosted by a Nginx container ideas

Docker angular app containers hosted by a Nginx container ideas

计划A

  1. 为每个 Angular 应用构建一个 docker 图像
  2. 可能在每个 angular 应用程序的单独容器中独立使用 docker 图像
  3. 一个 Nginx 容器将托管所有可插入容器

因此,第 1 步和第 2 步很简单,但是,使容器可插入 Nginx 的部分对我来说不是很清楚。 我的主要计划是将每个应用程序作为一个单独的服务,这样当我推送更改时,我可以重新启动目标服务,而不是整个平台。

关于如何使容器可插拔或其他方法有什么想法吗?

B计划

要将所有应用程序放入单独的卷中,如附加到 Nginx 容器的 vol-ngapp1、vol-ngapp2,但是,我将如何以这种方式执行更新过程? - 我需要重启整个容器还是什么?

需要计划 C :) 或直到 Z :D。

谢谢。

计划 A'

  1. 为每个 Angular 应用构建一个 docker 图像,全部由它们自己的 nginx 提供服务
  2. 在同一个网络中启动它们
  3. 在同一网络中,启动一个 nginx 容器 N 作为反向代理
  4. 要更新,在启动新服务后,只需编辑 N 中的 conf 文件并热重载

此解决方案使用了多个 nginx,但我认为它是最可插入且 可扩展 的解决方案。

在Step3中,nginx可以被其他具有更好服务发现能力的反向代理(例如traefik)代替,这样您就不必手动编辑配置文件了。

B 计划不像 A' 那样可插入,因为如果您有一个新的在线应用程序,您无法在不停机的情况下将卷附加到 运行 容器。但是,如果您只想更新现有项目(只需编辑卷)就可以了。