用于在虚拟化容器中部署和分发应用程序的Docker开源平台具有诸多优点。本文解释了企业应当了解这项流行技术的几个方面。
Docker容器架构
Docker容器的架构包括装有主机操作系统的物理机器。主机操作系统上面部署了Docker引擎,引擎有助于构建用来托管运行应用程序的虚拟容器。Docker引擎构建隔离的容器,应用程序就可以部署在这些容器上面。不像典型的虚拟机管理程序解决方案,Docker不需要为每个应用程序构建单独的虚拟机,也不需要为每个虚拟机安装来宾操作系统(guest OS)。
在基于虚拟机管理程序的应用程序虚拟化中,虚拟化平台(比如Hyper-V或VMware)部署在装有主机操作系统的物理服务器上。虚拟化平台上构建了虚拟机,每个虚拟机都有独立的来宾操作系统。应用程序部署在所有这些层上。托管运行那么多的虚拟机(每个虚拟机都有独立的来宾操作系统)让这种架构对资源的需求量比Docker容器大得多。
容器自动化
Docker容器通常提供了内置工具,使容器配置过程实现自动化,为此它可以利用来自任何现有应用程序容器的源代码。这需要处理服务、依赖项、封装及更多操作。Docker还提供了一系列广泛的预先配置的Docker映像,可以帮助企业组织快速部署应用程序容器。
为了实现同样这一系列任务,任何虚拟机管理程序解决方案都需要一套复杂的程序,包括将应用程序连同依赖项和工具一同克隆到隔离的程序包中。
计算资源需求
在Docker容器中,应用程序直接建立在Docker引擎上,因而不需要来宾操作系统。这项功能有助于减少托管运行多个来宾操作系统的总体系统要求(比如处理器或内存)。这还减少了对计算资源的需求,因而降低了部署成本。不像Docker容器,基于虚拟机管理程序的应用程序需要额外的来宾操作系统以及应用程序实际运行所需要的其他依赖项。