菜单

什么是容器?

立方体
主题
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 管道中已有的工具集成,现在开发人员、测试、QA 和运营团队可以将基础架构资源作为代码使用。

容器解决方案

无论您选择在何处部署容器化工作负载,都可以加快这些工作负载的部署速度。无论是在内部环境还是在云端,NetApp 均可提供全面的数据管理解决方案。

持续集成和持续交付

NetApp 的持续集成和持续交付 (Continuous Integration and Continuous Delivery, CI/CD) 解决方案可以为开发人员提供更优质的体验,使您能够在任何时间更可靠地测试和发布软件。

容器和持久存储

简单、随需而得。

DevOps 解决方案

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

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

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

Bandwidth 选项卡

加快新出行服务的上市速度

借助 NetApp,Despegar 的开发人员可以快速发布功能和更新,这些功能和更新会吸引新的站点访客并将其转化为客户。开发人员将新应用程序和更新的部署数量从每周 3 到 5 个增加到每天 300 多个。

Despegar 图像
蓝色气泡

为什么选择 NetApp 的 DevOps 解决方案

DevOps 是典型应用程序开发始终需要的一种方法。软件开发 (Dev) 和 IT 运营 (Ops) 并非孤立的自助式功能,而是共同承担从概念到生产的端到端责任。

无论是在内部、私有云,还是公有云中,NetApp 都可为您提供一致无缝的 DevOps 体验。这意味着运营人员可以用更少的工程设计来交付自动化基础架构,而开发人员可以在可靠和可预测的环境中进行创建,并且摩擦更少,速度更快。

继续阅读有关容器的信息