Docker-为每个单独的服务容器提供单独的Nginx容器

时间:2018-11-09 13:25:27

标签: docker nginx containers

遵循Docker最佳实践-创建容器时应牢记“单一责任”原则-在单独的Docker容器中安装nginx和某些我的自定义服务是一个好主意。但是问题是-如果我在自动缩放/负载平衡的环境中运行,在该环境中我至少有2-3个相同容器的运行副本-我应该为每个自定义服务集群使用一个单独的nginx容器集群还是应该有一个nginx容器整个基础架构的集群(但仅仅是更多实例)。请找到一个示例。 enter image description here

它甚至有什么区别吗?

1 个答案:

答案 0 :(得分:1)

我不认为这个问题有绝对的答案,所以我只是抛出了我当前的(随机的)想法。

首先,这取决于您使用nginx的目的。如果用于托管Webpacked网站,则确保每个frontend服务都需要一个nginx,再结合worker_processes中的nginx.conf,您将获得一个简单的前端负载平衡解决方案。如果要使用它作为反向代理来实现负载平衡,则对于一个小型集群而言,一个实例就足够了(当它变得更大时,您可以添加更多实例以形成多层负载均衡器)。

第二群实际上有一个本机load balancer,可以直接使用。

第三,还要考虑设置nginx的复杂性。我个人认为nginx设置和调试起来不那么容易。像traefik.io这样的现代解决方案更易于使用,并且考虑到群集的构建,并具有其他功能,例如通过let'encrypt自动进行https配置。