如何使用 Docker 扩展 Web 应用程序?

问题描述 投票:0回答:1

我正在学习 docker,但似乎无法理解使用 docker 进行扩展的想法。假设 1 个非常强大的服务器(多核、多线程)上有 2 个基于 docker 的容器,1 个用于 nginx,1 个用于 webapp(php/nodejs/etc),并且具有固定数量的资源。

如果这 2 个容器能够使用 100% 的服务器资源,那么就没有必要在同一服务器中生成另一个 nginx 或 webapp 容器。这里的扩展解决方案是生成另一台带有 1 个 webapp 容器的服务器或增加同一服务器的资源。在这种情况下,docker 纯粹只是一个简单/快速/标准化环境设置的工具。

在 Web 应用程序无法充分利用服务器上所有可用资源的情况下,docker 允许您在同一服务器中生成另一个 Web 应用程序是有意义的。例如。 1 个服务器中的 1 个 Nginx 容器和 3 个 webapp 容器。

这里使用 docker 进行扩展的想法是什么?在云平台中又如何?

我尝试在网上搜索,但无法真正理解它。

docker nginx scalability
1个回答
-1
投票

在这种情况下,docker纯粹只是一个简单/快速/标准化环境设置的工具。

这是一个与扩展 Web 应用程序密切相关的问题:如果您有一台服务器,那么部署软件的难度有多大并不重要。如果您有十台服务器,您将需要标准化且易于设置的部署。

如果这 2 个容器能够使用 100% 的服务器资源,那么就没有必要在同一服务器中生成另一个 nginx 或 webapp 容器。

我同意,这就是我部署 Django 应用程序的方式:有一个容器运行 Django,它使用 Gunicorn 运行与我拥有的核心数量一样多的工作程序(或者稍微多一些 - Django 花费一些时间等待数据库。)

这里使用 docker 进行扩展的想法是什么?在云平台中又如何?

其他评论者建议您研究 Kubernetes,但在我看来,除非您有非常大且异构的工作负载,否则 Kubernetes 通常不值得实施。大多数云提供商提供的自动缩放组可以以较低的复杂性提供可扩展性。在此设置中,每个虚拟机都运行 Docker,但每个 Docker 守护进程都是独立的。

© www.soinside.com 2019 - 2024. All rights reserved.