由Nginx容器创意托管的Docker角应用容器

时间:2019-01-11 10:04:07

标签: angular docker nginx docker-compose jwilder-nginx-proxy

计划A

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

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

任何想法如何使容器可插拔或采用其他方法?

B计划

要将所有应用放入单独的卷(如vol-ngapp1,vol-ngapp2)连接到Nginx容器,但是,我将如何执行更新过程? -我需要重新启动整个容器还是什么?

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

谢谢。

1 个答案:

答案 0 :(得分:0)

计划A'

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

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

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

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