Container是一个轻量级的独立包,它封装了一个完整的运行时环境,包括应用程序及其依赖项(库、二进制文件和任何其他配置文件),从而提高了应用程序的可移植性、可扩展性、安全性和敏捷性。
容器受到开发人员和运营商的欢迎,因为它们提供了一种直接的方式来部署和管理应用程序,而不管目标环境如何。他们通过改进开发和运营团队之间的交接来促进DevOps和DevSecOps实践。
容器高效地消耗资源,实现高密度和资源利用率。尽管容器几乎可以用于任何应用程序,但它们经常与微服务相关联,其中多个容器运行单独的应用程序组件或服务。组成应用程序的容器通常使用容器编排平台(例如Kubernetes)进行协调和管理。
容器是通过将来自一个或多个存储库的多个映像的应用程序以及任何库或其他应用程序依赖项打包来创建的,从而消除了可移植性和兼容性问题。
容器与虚拟机
每个虚拟机(VM)运行一个操作系统的完整或部分实例,而多个容器共享一个操作系统实例。容器包括运行应用程序所需的一切,使多个容器化应用程序能够在单个主机系统上独立运行。因为可以在一个虚拟机中运行多个容器,所以这两种技术可以一起使用
使用容器有什么好处?
使用容器构建应用程序可以加速新功能的交付并鼓励持续创新的环境。好处包括:
敏捷。改进的开发人员敏捷性推动了生产力的提高和应用程序开发的速度。容器简化了CI/CD管道,是DevOps团队和微服务部署的理想选择。
可扩展性和高可用性。使用Kubernetes,容器部署可以随着工作负载需求的变化而自动扩展或缩减,从而提高应用程序的可用性。
便携性。与虚拟机相比,容器消耗的资源更少,重量也更轻。容器化应用程序与基础架构无关,无论部署在何处,它们的运行方式都是相同的。
弹性。容器化应用程序与操作系统和其他容器隔离和抽象;一个容器可以在不影响其他正在运行的容器的情况下发生故障。
容器标准
容器格式和运行时环境的标准由开放容器倡议(OCI)控制,该项目成立于2015年,旨在创建开放的行业标准。OCI目前提供两种规范:运行时规范(runtime-spec)和图像规范(image-spec)。

容器需要改变安全策略的实施和管理方式。应使用DevSecOps方法尽可能将安全性构建到容器生命周期中。安全团队与开发和运营团队合作,调整现有的治理和合规策略,以适应新工具和对应用程序生命周期的更改。
容器自动化
手动工作会减慢开发团队的速度。容器自动化使开发人员能够专注于代码而不是打包。容器镜像是分层构建的。使用自动化的容器构建方法,每当层更改时,只需更新该层。例如,如果只需要更新系统库,则只需重建包含库的层。由于其他层保持不变,因此减少了测试和验证负担,使更新的容器能够更快、更频繁地投入生产。
自2013年推出以来,Docker几乎是容器的代名词,并且继续被用于构建容器镜像。Docker环境包括容器运行时以及容器构建和镜像管理。因为Docker构建了一个OCI标准的容器镜像,所以Docker镜像将在任何符合OCI的容器运行时上运行。
Kubernetes是一种开源容器编排器,已成为事实上的标准。Kubernetes通过声明性配置和自动化来自动化容器的部署、负载平衡、资源分配和安全实施。它使容器化应用程序保持在所需状态下运行,确保它们具有可扩展性和弹性。容器编排有助于管理容器生命周期的复杂性。这对于具有大量容器的分布式应用程序尤其重要。
Kubernetes正在转向容器运行时接口(CRI),它支持更广泛的容器运行时集,并在不同运行时之间实现顺畅的互操作性。2020年12月宣布弃用Docker运行时与Kubernetes一起使用。
容器用例
对于开发人员
用于IT运营
通过在几毫秒而不是几分钟内启动额外的容器实例来启动虚拟机,从而提供极高的按需可扩展性。
本文来源:国外服务器--什么是容器(容器是干什么用的)
本文地址:https://www.idcbaba.com/guowai/3838.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



