菜单

什么是容器?

主题
DevOps 解决方案

分享该页面

容器是一种操作系统虚拟化形式。可以使用一个容器来运行从小型微服务或软件进程到大型应用程序的所有内容。容器包含所有必要的可执行文件、二进制代码、库和配置文件。但是,与服务器或计算机虚拟化方法不同,容器不包含操作系统映像。因此,它们更轻便且可移植,开销也很小。在大型应用程序部署中,可以将多个容器部署为一个或多个容器集群。此类集群可由 Kubernetes 等容器编排程序管理。

容器的优势

容器是在从开发人员的本地笔记本电脑到内部环境数据中心甚至是云端的多个环境中,构建、测试、部署和重新部署应用程序的简化方式。容器的优势包括:

  • 降低了开销
    与传统或硬件虚拟机环境相比,容器所需的系统资源更少,因为它们不包含操作系统映像。
  • 提升了可移植性
    在容器中运行的应用程序可以轻松部署到多个不同的操作系统和硬件平台。
  • 操作更加一致
    DevOps 团队明白,无论将容器中的应用程序部署到何处,它们的运行都会保持一致。
  • 提高了效率
    通过容器,可以更快地部署、修补或扩展应用程序。
  • 改善了应用程序开发
    容器支持敏捷的 DevOps 工作,可加速开发测试并缩短生产周期。

容器用例

企业使用容器的常见方式包括:

  • 将现有应用程序“直接迁移”到现代云架构
    某些组织使用容器将现有应用程序迁移到更现代化的环境中。虽然这种做法可提供操作系统虚拟化的一些基本优势,但它无法提供基于容器的模块化应用程序架构的全部优势。
  • 重构现有应用程序以适应容器
    尽管重构比直接迁移要耗费更多的资源,但它可以充分发挥容器环境的优势。
  • 开发新的容器原生应用程序
    这种方法与重构非常相似,它可以充分发挥容器的优势。
  • 为微服务架构提供更好的支持
    使用单个容器构建组件可以更轻松地隔离、部署和扩展分布式应用程序和微服务。
  • 为持续集成和部署 (CI/CD) 提供 DevOps 支持
    容器技术支持从相同的容器映像简化构建、测试和部署。
  • 简化重复性作业和任务的部署
    部署容器用于支持一个或多个类似的进程,这些进程通常在后台运行,例如 ETL 功能或批处理作业。

Docker 和 Kubernetes 与容器有何关系?

容器环境中涉及的用户可能听说过两种用于构建和管理容器的常用工具和平台。它们分别是 Docker 和 Kubernetes。

Docker 是一种常用的运行时环境,用于在容器中创建和生成软件。它使用 Docker 映像(写时复制快照)在从开发到测试和生产的多个环境中部署容器化应用程序或软件。Docker 基于大多数常见操作环境中的开放标准和功能构建,包括 Linux、Microsoft Windows 以及其他内部环境或基于云的基础架构。

但是,容器化应用程序可能会变得复杂。在生产环境中,许多应用程序可能需要在生产环境中使用成百上千个单独的容器。在这种情况下,Docker 等容器运行时环境可以使用其他工具来编排或管理运行中的所有容器。

为此,最常用的一个工具是 Kubernetes,它是一款容器编排程序,可识别多个容器运行时环境,包括 Docker。

Kubernetes 可以协调多个容器的运行。它可以管理将底层基础架构资源用于容器化应用程序等领域,例如所需的计算、网络和存储资源量。借助 Kubernetes 等流程编排工具,可以更轻松地为实时生产环境自动化和扩展基于容器的工作负载。

容器与虚拟机 (VM)

有时,人们会将容器技术与虚拟机 (VM) 或服务器虚拟化技术相混淆。尽管它们之间存在一些基本的相似之处,但容器与虚拟机却截然不同。

虚拟机在虚拟机管理程序环境中运行,在此环境中,每个虚拟机都必须在其中包含自己的子操作系统,以及相关的二进制文件、库和应用程序文件。这会消耗大量系统资源和开销,尤其是当多个虚拟机在同一物理服务器上运行时,每个虚拟机都有自己的子操作系统。

相比之下,每个容器均共享同一主机操作系统或系统内核,非常轻巧,通常只有数 MB。这通常意味着容器可能只需几秒钟即可启动(而典型虚拟机则需要数 GB 和数分钟)。

NetApp 与容器

在 NetApp,我们对容器技术满怀信心,并致力于开发成熟可靠的工具与创新技术,用于在任何位置为任何应用程序提供和管理持久存储。开发 Trident 就是一个重要的体现。Trident 使容器化应用程序可以更轻松地按需使用持久存储。

我们正在积极研究如何通过提高软件开发的速度和灵活性来加速 DevOps。使用存储等基础架构资源应该很简单。NetApp 致力于通过容器管理解决方案以及其他有助于应用程序更轻松地扩展和跨越多种平台的解决方案来实现这一点。

相关解决方案和产品

DevOps 解决方案

全球数据管理和存储领域领导者的成功案例

将安保通信转化为客户洞察力

API 平台提供商 Bandwidth 每天传输涉及数百万人的语音、消息和 911 服务。Bandwidth 的开发人员坚持不懈地创新,为的是发展公司平台,加速将新服务推向市场。

瑞士银行利用 NetApp 闪存和 MetroCluster IP 使文件无处不在。

PostFinance 依靠专为瑞士市场开发或调整的前瞻性工具和技术。NetApp® 系统可为安全的银行交易提供文件数据,并利用持久性存储加快金融产品和服务的开发速度。  

一个人盯着显示器进行分析
Drift chat loading