容器是一种虚拟化技术,旨在为应用创建并支持可移植的封装形式。换言之,容器可简化应用在各种不同平台上的部署。容器将应用的所有运行要求封装在一起,包括应用代码本身、应用运行所需的库等依赖项,以及应用及其依赖项的运行时环境,从而形成一种可移植的封装形式,能够跨平台独立运行。容器将应用从典型的操作系统运行时环境中抽象出来。

Docker是广为人知的容器实现格式;不过,还有其他容器技术,例如rkt/CoreOS、containerd、Hyper‑V容器,以及cgroups和namespaces等更底层的技术(两者与容器引擎类似,都用于应用隔离,但无法像容器一样提供隔离环境下的可移植性)。可以使用Docker或rkt等平台工具直接管理容器,但大多数部署会使用Kubernetes等编排工具来管理容器。Kubernetes虽非必需,但正逐渐成为生产级容器部署的标准工具。

容器已成为一种广受欢迎的架构选择,因为它可以将应用拆分为更小的独立组件,从而明确基础设施负责人和开发人员之间的职责分工。这种方式在开发阶段有助于不同团队并行处理各个组件,在部署阶段则可让特定容器在不同平台之间迁移。容器还为应用和基础设施管理人员提供了更精简的工具,因为容器可以提供不可变平台,使开发人员能够按照一组已知要求发布应用容器,而无需负责管理这些要求。

术语“应用容器化”通常指将应用从标准Linux运行时环境迁移到可在多种环境中运行的自包含形态的过程。许多企业的容器化进程已较为深入,并已开始迁移到基础容器,或采用Kubernetes等工具实施更全面的容器管理策略。

NGINX如何提供帮助?

所有NGINX产品均可在容器中运行,包括NGINX Open Source、NGINX Plus(可选择搭配NGINX App Protect)、NGINX Unit、NGINX Service Mesh、NGINX Ingress Controller;也可以基于容器技术构建(NGINX Controller)。

立即联系我们,了解我们如何帮助您交付现代应用。