什么是云容器?

云容器是软件代码包,包含应用程序的代码、相关的库和在云中运行所需的其他依赖项。任何软件应用程序代码都需要额外的文件(称为库和依赖项)才能运行。传统上,软件必须以多种格式打包才能在不同的环境中运行,例如 Windows、Linux、Mac 和移动设备。但是,容器将软件及其所有依赖项打包到可以在任何地方运行的单个文件中。在云中运行容器可大规模提供额外的灵活性和性能优势。

云容器有哪些优势?

应用程序可以由数十、数百甚至数千个容器组成。使用云容器,可以在许多不同的云服务器或实例上分配和管理这些容器。云容器的作用方式使其如同在同一位置一样。分布式云计算应用程序架构有很多优势。 

阅读有关云服务器的信息

简化应用程序部署

容器具有独特性,因为可以使用它们将软件部署到几乎任何环境中,而无需专门捆绑底层架构和操作系统的软件。在容器化普遍使用之前,应用程序必须与特定的库捆绑才能在特定平台上运行。这意味着在多个操作系统上部署一个软件将产生多个软件版本。只要容器化平台在顶层运行,云容器就可以让应用程序在任何底层架构上运行。现在只需要一个版本的生产级容器。

灵活性

通过云容器化,底层虚拟机(VM)都是云实例。云实例有多种配置可供选择,包括快速启动、拆卸和按需云计算定价。这种可重新配置性意味着可以根据应用程序的要求按需换入和换出计算机。可以通过在各个云实例而非个别服务器上对基于容器的应用程序进行负载平衡来优化资源使用。

了解负载平衡

弹性

云容器为应用程序提供更高的可靠性和可用性。在分布式容器化架构中,如果给定的计算机出现故障,另一台计算机可以快速启动丢失的容器,从而增强应用程序的弹性。可以在应用程序中更新单个容器的新版本,同时尽量减少对应用程序其余部分的干扰。这会延长正常运行时间。

可扩展性

在传统的应用程序生产环境中,应用程序受单个服务器资源的限制。给定正确的应用程序设计和云容器化方法,应用程序的数据处理和输入/输出将不再受到单个服务器限制的制约。在多台计算机之间分配这些操作,因此您可以无限扩展并确保稳定的性能和用户体验。

 

云容器有哪些使用案例?

对于构建或运行容器化应用程序并想要使用云计算资源的组织来说,云容器可发挥作用。

微服务

借助微服务架构,可以将应用程序分解为执行单一功能的较小独立组件。微服务引入灵活性,同时可实现代码重用和提高效率。云容器支持在分布式云实例网络上运行包含数百甚至数千个微服务的大型应用程序。通过在多个实例之间共享工作负载,可以优化操作以获得最佳成本,并且可以确保在计算机出现故障时服务的连续性。

开发运维

DevOps 是构建、测试和运行软件应用程序的自动化和管理过程。该过程本身可重复和采用版本控制,并且可以作为代码使用,从而节省开发时间并减少可能发生的手动错误数量。容器化和部署过程相类似,非常适合传统的 DevOps 过程和工具。云容器文件可控制版本,并且支持持续集成/持续部署(CI/CD)DevOps 实践。

阅读有关 DevOps 的信息

阅读有关持续集成的信息

混合云

可能需要通过现场服务器和基于云的服务器运行基于容器的应用程序架构。云容器的部署非常适合混合云组合。容器服务只需要在所有计算机上运行正确的网络设置和容器化服务,即可共同执行。

云容器如何运作?

云容器只是在云基础设施上运行的容器,而不是在本地计算机上或数据中心中运行的容器。云计算中的容器是映像文件,包含运行软件所需的所有内容:代码、运行时、库、环境变量和配置文件。映像是分层构造的,从基础映像(通常是操作系统的最小化版本)开始,然后按照容器配置文件中的说明添加其他层。容器映像的核心特征之一是其不可变性:一旦创建,它们就不会更改。可以将映像存储在容器注册表中,并在不同的云环境中一致地重复使用它们。

以下概述容器技术的不同方面。

容器运行时系统

容器运行时负责容器的实际运行。这些运行时管理容器的运行、生命周期和资源隔离。容器在云实例操作系统的用户空间中作为独立进程运行。它们共享主机操作系统,但在彼此之间和与主机之间保持分离。这种隔离可以实现高效的资源分配,其中运行时会实施限制以避免容器之间的资源争用。

联网

可以使用自己的隔离网络堆栈配置云容器,确保在单独容器中运行的应用程序不会相互干扰。端口映射和预定义的网络通道管理与外部世界以及容器之间的通信。 

存储

云容器通常使用短暂存储,这意味着当容器停止时,写入容器可写入层的任何数据都会丢失。可以使用云存储卷进行持久性存储。这些卷独立于容器的生命周期,可以在容器之间共享。

编排

在大型系统中,编排工具可以自动部署、扩展和管理多个容器。编排工具将这些容器分布在云服务器集群中,平衡负载并管理失效转移流程。自动化功能极大地简化复杂环境中的容器化应用程序管理。可以跨混合云架构部署和管理庞大的高级容器化应用程序,而无需对每个云实例执行操作。可以对编排工具进行编程,从容器注册表中提取映像文件并自动部署到云实例,而不是手动将容器映像文件传输到每个实例。

云容器和云实例之间有什么区别?

云实例是虚拟机,其底层物理资源完全由云提供商管理。云实例的功能与实体服务器类似,具有完全的可配置性,因此可以像使用现场服务器一样使用它们。但是,云实例不需要管理硬件和操作系统。可以快速轻松地实例化和关闭云实例。可以在云实例上部署云容器,以运行其基于云的分布式应用程序。术语云容器是指在云实例上运行的容器。

阅读有关云实例的信息

阅读有关容器和虚拟机之间区别的信息

AWS 如何支持您的云容器要求?

如今,将近 80% 的云容器在 Amazon Web Services(AWS)上运行。AWS 容器服务提供许多系统工具来管理底层容器基础设施,这样您就可以专注于创新和业务需求。

  • AWS Copilot 是一种命令行界面(CLI),用于在 AWS 上快速启动并管理容器化应用程序
  • Amazon Elastic Container Service(Amazon ECS)是完全托管的容器编排服务和系统工具,用于高效地部署、管理和扩展容器化应用程序
  • Amazon Elastic Kubernetes Service(Amazon EKS)是一项托管式 Kubernetes 服务,用于在 AWS Cloud 和本地数据中心上运行 Kubernetes 容器编排。
  • Amazon Elastic Container Registry(Amazon ECR)是完全托管的容器注册表,可轻松管理和访问容器映像和构件
  • AWS Fargate 是用于容器的无服务器计算引擎,可以使用该引擎专注于开发应用程序,而不是管理基础设施

下图按层显示 AWS 容器解决方案的选项:预置、编排和容量。

立即创建账户,开始在 AWS 上使用云容器。

AWS 上的后续步骤

查看其他与产品相关的资源
详细了解面向服务的架构 
注册免费账户

立即享受 AWS 免费套餐。 

注册 
开始在控制台中构建

在 AWS 管理控制台中,使用 AWS 开始构建。

登录