什么是容器化?容器化如何工作?

  • 什么是容器化?
  • 容器化有哪些优势?
  • 容器化有哪些使用案例?
  • 容器化如何工作?
  • 参考

什么是容器化?

容器化是一种软件部署流程。在传统场景中,要在计算机上运行任何应用程序,必须安装与计算机操作系统匹配的应用程序版本。例如,我们需要在 Windows 计算机上安装 Windows 版本的软件包而不是安装Linux版本。但是,借助容器化,我们可以创建能够在所有类型的设备和操作系统上运行的单个软件包或容器。


容器化有哪些优势?

由于以下优势,开发人员使用容器化来构建和部署现代应用程序

  • 便携性。开发人员只需要构建一个应用程序,然后通过容器化将其部署到多个操作系统上。而无需根据不同环境重新编写程序代码
  • 可扩展性。容器是轻量级软件组件。开发人员可以轻松在单个计算机上为不同的应用程序添加多个容器。容器集群之间共享操作系统以及操作系统提供的计算资源。同时,一个容器不会干扰其他容器的运行
  • 容错能力。使用多个容器在云上运行微服务时,由于容器化微服务在独立的用户空间中运行,因此单个故障容器不会影响其他容器
  • 敏捷性。容器化应用程序在独立的计算环境中运行。软件开发人员可以进行故障排除并更改应用程序代码,而不会干扰操作系统、硬件或其他应用程序服务。他们可以缩短软件发布周期,并使用容器模型快速进行更新

容器化有哪些使用案例?

  • 云迁移
    云迁移或直接迁移方法是一种软件策略,涉及将传统应用程序封装在容器中,并将这些应用程序部署到云计算环境中。组织可以实现应用程序现代化,而无重新编写全部软件代码。
  • 采用微服务架构
    致力于使用微服务构建云应用程序的组织需要容器化技术。微服务架构是一种软件开发方法,使用多个相互依赖的软件组件来交付功能性应用程序。每种微服务都有一个唯一且具有针对性的功能。现代云应用程序由多种微服务组成。例如,视频流应用程序可能包含用于数据处理、用户跟踪、计费和个性化的微服务。容器化提供软件工具,可将微服务打包为不同平台上的可部署程序
  • IoT 设备
    物联网 (IoT) 设备包含有限的计算资源,使手动软件更新成为一个复杂的流程。容器化使开发人员能够轻松跨 IoT 设备部署和更新应用程序。

容器化如何工作?

容器化涉及构建自给自足的软件包,无论这些软件包在哪些机器上运行,性能都始终如一。软件开发人员创建和部署容器映像,即包含运行容器化应用程序所需信息的文件。开发人员使用容器化工具根据开放容器计划 (OCI) 映像规范构建容器映像。OCI 是一个开源组,提供用于创建容器映像的标准化格式。容器映像为只读,计算机系统无法更改。

容器映像是容器化系统的顶层,容器化系统由以下层组成。

  • 基础设施
    基础设施是容器模型的硬件层。其指运行容器化应用程序的物理计算机或裸机服务器。
  • 操作系统
    容器化架构的第二层为操作系统。Linux 是一种使用本地计算机进行容器化的热门操作系统。在云计算中,开发人员使用 AWS EC2 等云服务运行容器化应用程序。
  • 容器引擎
    容器引擎或容器运行时是一种基于容器映像创建容器的软件程序。其作为容器和操作系统之间的中间代理,提供和管理应用程序所需的资源。例如,容器引擎可以通过使同一操作系统上的多个容器独立于底层基础设施且彼此独立,从而进行管理。
  • 应用程序和依赖关系
    容器化架构的最顶层是应用程序代码和需要运行的其他文件,如库依赖项和相关配置文件。该层还可能包含通过主机操作系统安装的轻型客户机操作系统。

参考


https://aws.amazon.com/cn/what-is/containerization/

你可能感兴趣的:(容器,docker)