从 Docker 容器部署 Elastic Beanstalk 应用程序 - Amazon Elastic Beanstalk
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

从 Docker 容器部署 Elastic Beanstalk 应用程序

Elastic Beanstalk 支持从 Docker 容器部署 Web 应用程序。使用 Docker 容器,您可以定义自己的运行时环境。还可以选择自己的平台、编程语言以及其他平台通常不支持的任何应用程序依赖项,例如程序包管理器或工具。Docker 容器具有独立性且包含您的 Web 应用程序运行所需的所有配置信息和软件。在 Elastic Beanstalk 控制台中定义的所有环境变量都会传递到容器。

通过将 Docker 与 Elastic Beanstalk 结合使用,您的基础设施可以处理容量预配置、负载均衡、扩展和应用程序运行状况监控的所有细节。您可以在支持与 Elastic Beanstalk 集成的系列服务的环境中轻松管理 Web 应用程序。

本章中的主题假设您对 Elastic Beanstalk 环境有所了解。如果您以前未使用过 Elastic Beanstalk,请尝试使用入门教程以了解基本知识。本章还假定您对 Docker 及其工作原理有了基本的了解。有关更多信息,请参阅 Docker 网站上的 Docker 概览

Docker 平台系列

Elastic Beanstalk 的 Docker 平台系列包括多个平台分支。最新的平台分支基于 Amazon Linux 2 操作系统,并提供长期支持:

  • 在 64 位 Amazon Linux 2 上运行的 Docker

  • 在 64 位 Amazon Linux 2 上运行的 ECS

有关每个 Docker 平台支持的平台分支的更多信息,请参阅 Amazon Elastic Beanstalk 平台文档中的支持的平台页面。

还有三个其他平台分支也支持 Docker,它们将于 2022 年 6 月 30 日停用。所有这些平台分支都在 Amazon Linux AMI(Amazon Linux 2 之前)上运行:

  • 在 64 位 Amazon Linux 上运行的 Docker

  • 在 64 位 Amazon Linux 上运行的多容器 Docker(由 Amazon ECS 托管)

  • 在 Amazon Linux 上运行的预配置 Docker (Glassfish 5.0)

有关计划停用的所有 Elastic Beanstalk 平台分支的列表,请参阅 Amazon Elastic Beanstalk 平台指南中计划停用的平台分支

在 Amazon Linux 2 上运行的 Docker

此平台分支提供单容器和多容器支持。Elastic Beanstalk 将 Docker 镜像和源代码部署到此平台分支上的 EC2 实例。利用 Docker 平台上的 Docker Compose 工具来简化应用程序配置、测试和部署。有关此平台分支的更多信息,请参阅 使用 Docker 平台分支

在 64 位 Amazon Linux 2 上运行的 ECS

此平台分支使用 Amazon ECS 将多个 Docker 容器协调部署到 Elastic Beanstalk 环境中的 Amazon ECS 集群。环境中的每个实例都运行相同的容器组,如 Dockerrun.aws.json 文件所定义。有关更多信息,请参阅使用 Amazon ECS 平台分支

在 Amazon Linux(Amazon Linux 2 之前)上运行的平台分支

注意

以下平台分支计划于 2022 年 6 月 30 日停用。有关平台支持策略和停用平台分支的更多信息,请参阅本指南的平台支持策略主题。

此平台分支可用于部署 Docker 镜像,如 Dockerfile 或 Dockerrun.aws.json v1 定义所述。此平台仅支持 Amazon Linux AMI 操作系统(Amazon Linux 2 之前的版本),只为每个实例运行一个容器。

我们建议您创建环境使用较新且受支持的平台分支:在 64 位 Amazon Linux 2 上运行的 Docker。有关更多信息,请参阅使用 Docker 平台分支

此平台分支使用 Amazon ECS 将多个 Docker 容器协调部署到 Elastic Beanstalk 环境中的 Amazon ECS 集群。但是,它仅支持 Amazon Linux AMI 操作系统(Amazon Linux 2 之前的版本)。我们建议您使用之前提到的在 Amazon Linux 2 上运行的 Docker 平台分支之一,而不是使用此平台分支。

如果您已在使用此平台分支,我们建议您迁移至最新的平台分支:在 64 位 Amazon Linux 2 上运行的 ECS。最新的平台分支支持此已停产平台分支的所有功能。源代码无需更改。有关更多信息,请参阅将在 Amazon Linux 上运行的多容器 Docker 迁移到 Amazon Linux 2 上的 ECS

除了两个通用 Docker 平台之外,还有一个在 Amazon Linux AMI 操作系统(Amazon Linux 2 之前的版本)上运行的预配置 Preconfigured Docker GlassFish 平台分支。该平台分支已被在 64 位 Amazon Linux 2 上运行的 Docker 平台分支所取代。将 GlassFish 和您的应用程序代码部署到 Amazon Linux 2 Docker 镜像,以便轻松地将您的 GlassFish 应用程序迁移到这个更新且受支持的平台分支。有关更多信息,请参阅 将 GlassFish 应用程序部署到 Docker 平台