7.1 容器技术的优点
容器本质上是受到资源限制,彼此间相互隔离的若干个 Linux 进程集合。容器技术借助 cgroups、namespace,以及 Linux 内核等技术从而应用可以在沙箱环境中独立运行,从而避免之间的冲突和影响。
容器技术最大的特点是提供了一种标准化的交付方式,可用于将应用以及依赖整体打包,使应用不再受到环境限制,简化应用构建、测试、部署流程,实现 一次编译,随处运行的大目标。
容器技术的主要优点是对计算机各类资源进行抽象,并结合镜像技术使其轻量且可移植。容器技术与虚拟机对比,优点如下:
- 轻量: 容器共享计算机操作系统内核,无需为每个应用程序提供完整的操作系统实例,容器体积更小,依赖更少。与虚拟机相比,这意味着可以快速运行,更好地支持横向扩展的云原生应用程序。
- 可移植且平台独立: 容器包含所有的依赖关系,这意味着软件一次编写即可运行,交付时无需再配置各类环境。由于跨平台部署的可移植性/一致性以及体积优势,容器非常适用于如 DevOps、Serverless 以及微服务这类的现代开发和应用模式。
- 利用率高:容器结合容器编排系统如 Kubernetes 可以更精细地部署和扩展应用组件,实现资源利用以及业务稳定、可靠运行之间的平衡。