跳转到

什么是容器?

容器是包含在任何环境中运行所需的所有元素的软件包。容器可以虚拟化操作系统,并在任何地方运行,不管目标环境是私有数据中心、公有云,还是开发者的个人笔记本电脑。从 Gmail 到 YouTube 和 Google 搜索,Google 的所有产品都在容器中运行。容器化让我们的开发团队可以快速行动、高效部署软件,并以前所未有的规模运营。我们不但积累了有关如何运行容器化工作负载的丰富知识,而且一直与社区积极分享这些知识:从早期为 Linux 内核贡献 cgroup,到开放我们内部工具所采用的设计源代码作为 Kubernetes 项目,均是如此。

容器的定义

容器是轻量级应用代码包,它还包含依赖项,例如编程语言运行时的特定版本和运行软件服务所需的库。

容器支持在操作系统级别轻松共享 CPU、内存、存储空间和网络资源,并提供了一种逻辑打包机制,以这种机制打包的应用可以脱离其实际运行的环境。

容器有哪些优势?

责任分离

容器化使开发者和 IT 运营团队的责任泾渭分明,开发者专注于应用逻辑和依赖项,而 IT 运营团队可以专注于部署和管理,不必为应用细节分心,例如具体的软件版本和配置。

工作负载可移植性

容器几乎能在任何地方运行,极大减轻了开发和部署工作量:在 Linux、Windows 和 Mac 操作系统中;在虚拟机或物理服务器上;在开发者的机器或本地数据中心的机器上;当然还有在公有云上。

应用隔离

容器会在操作系统级别虚拟化 CPU、内存、存储和网络资源,为开发者提供在逻辑上与其他应用相隔离的操作系统接口。

容器与虚拟机的区别

您可能已经很熟悉虚拟机:一种运行在主机操作系统之上,可以访问底层硬件的客机操作系统,例如Linux 或 Windows。容器常常被拿来和虚拟机 (VM) 比较。与虚拟机相似,容器也可以让您将应用与库和其他依赖项打包,提供独立环境来运行您的软件服务。但是,我们从下方可以看到,两者的相似性仅此而已,因为容器为开发者和 IT 运营团队提供了更加轻型、具有众多优势的运营单元。

  • 容器比虚拟机更加轻量化
  • 容器在操作系统级别进行虚拟化,而虚拟机在硬件级别进行虚拟化
  • 容器共享操作系统内核,其占用的内存与虚拟机相比微乎其微

容器有哪些用途?

容器提供了一种逻辑打包机制,以这种机制打包的应用可以脱离其实际运行的环境。利用这种脱离,不管目标环境是私有数据中心、公有云,还是开发者的个人笔记本电脑,您都可以轻松、一致地部署基于容器的应用。

敏捷开发

容器使开发者可以更快地移动数据,无需担心依赖项和环境。

高效运营

容器非常轻巧,它允许您仅使用所需的计算资源。这使您可以高效运行应用。

在任何地方运行

容器几乎可以在任何地方运行。无论您希望在什么地方运行软件,都可以使用容器。