使用容器来构建、共享和运行您的应用程序
将软件打包成标准化单元,以便开发、运输和部署
容器是一个标准的软件单元,它将代码及其所有依赖项打包,以便应用程序能够快速可靠地从一个计算环境运行到另一个计算环境。Docker容器映像是一个轻量级的、独立的、可执行的软件包,包括运行应用程序所需的一切:代码、运行时、系统工具、系统库和设置。
容器映像在运行时成为容器,对于Docker容器,映像在运行时成为容器码头引擎。可用于Linux和基于Windows的应用程序,容器化的软件将总是运行相同的,不管基础设施如何。容器将软件从它的环境中隔离出来,并确保它统一地工作,尽管存在差异,例如在开发和阶段之间。
运行在Docker引擎上的Docker容器:
标准:Docker创建了容器的行业标准,因此它们可以在任何地方携带
轻量级:容器共享机器的操作系统内核,因此每个应用程序不需要操作系统,从而提高了服务器效率,降低了服务器和许可成本
安全:应用程序在容器中更安全,Docker提供了业界最强的默认隔离能力。
Docker容器无处不在:Linux、Windows、数据中心、云、无服务器等。
Docker容器技术于2013年作为开源软件推出码头引擎.
它利用了围绕容器的现有计算概念,特别是在Linux世界中,称为cgroups和namespaces的原语。Docker的技术是独一无二的,因为它专注于开发人员和系统运营商的要求,将应用程序依赖关系与基础设施分离开来。
在Linux世界的成功推动了与微软的合作,将Docker容器及其功能引入Windows Server。
莫比Docker及其开源项目提供的技术已经被所有主要的数据中心供应商和云提供商所利用。这些提供商中有许多都在利用Docker来提供其容器原生IaaS产品。此外,领先的开源无服务器框架利用Docker容器技术。
比较容器和虚拟机
容器和虚拟机具有相似的资源隔离和分配优势,但功能不同,因为容器虚拟化的是操作系统而不是硬件。集装箱更便携,效率更高。
容器
容器是应用程序层的抽象,它将代码和依赖项打包在一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器在用户空间中作为独立的进程运行。容器比虚拟机占用更少的空间(容器映像的大小通常为数十兆字节),可以处理更多的应用程序,并且需要更少的虚拟机和操作系统。
虚拟机
虚拟机(VM)是物理硬件的抽象,将一台服务器转变为多台服务器。虚拟机管理程序允许多个虚拟机在一台机器上运行。每个虚拟机包括操作系统、应用程序、必要的二进制文件和库的完整副本,占用数十GB的空间。虚拟机启动也可能很慢。
容器和虚拟机放在一起
容器和虚拟机一起使用,为部署和管理应用程序提供了极大的灵活性。
集装箱标准和行业领导地位
2013年Docker的推出开启了应用程序开发的一场革命——通过使软件容器大众化。Docker开发了一种Linux容器技术——一种可移植、灵活且易于部署的技术。Docker开源了libcontainer,并与世界各地的贡献者社区合作以进一步开发它。2015年6月,Docker向开放容器倡议(OCI)捐赠了容器映像规范和运行时代码(现在称为runc),以帮助随着容器生态系统的发展和成熟建立标准化。
随着这一发展,Docker继续以containerd项目回馈社会,Docker于2017年向云原生计算基金会(CNCF)捐赠了该项目。containerd是一个利用runc的行业标准容器运行时,创建时强调简单性、健壮性和可移植性。containerd是Docker引擎的核心容器运行时。
上一条:Docker Scout 正式发布
下一条:容器化技术Docker