容器逻辑克服了传统软件的局限性。容器包含整个打包的应用程序(“软件打包”),以及其运行所需的所有组件:应用程序的二进制代码(或必须解释的代码)、运行时组件,即库、依赖项、配置文件以及任何系统工具。
因此,容器化应用程序(即封装在容器中的应用程序)可以快速迁移到其他裸机或云平台和基础设施。因此,容器化使您能够更快速、更轻松地部署应用程序。
另请阅读: 容器安全:如何提高容器的安全性
容器化的诞生
容器的诞生就是为了“限制”,即以安全稳定为首要目标。几年前,有人尝试将应用程序或工作负载与系统的其余部分分开,以实现某种形式的“遏制”。
在“容器”方法的第一次尝试中,内核必须允许执 黎巴嫩电报数据 行“用户空间”的多个实例。每个实例与其他实例分开,构成一个独立的容器,专用于单个应用程序或工作负载。
这种方法的第一个示例是 FreeBSD 的“监狱”和 IBM 的 AIX 工作负载分区。人们已经设计了许多变体(从 DragonFly BSD 的“虚拟内核”到 OpenVZ 的“虚拟专用服务器”,再到 Solaris 的“区域”),但与现代容器不同,它们都绑定到某些硬件架构和操作系统。
我们今天所理解的容器和容器化应用程序的概念可以追溯到 2013 年。容器是随着Docker及其 Docker 引擎的诞生以及同样由 Docker 等创建的开放容器计划的启动而引入的。这个最新项目制定了该领域的行业标准,并使在不同平台上使用不同的容器化工具成为可能,并且始终使用相同的容器。
另请阅读:什么是容器编排以及如何使用 Kubernetes 进行容器编排
容器化:有什么好处?
正如我们所看到的,应用程序的容器化决定了它在不同环境中更高效、更快的执行,从而改善工作流程和生产力。让我们详细看看它的优点和直接后果是什么。