将在 Amazon Linux 上运行的多容器 Docker 迁移到 Amazon Linux 2 上的 ECS - Amazon Elastic Beanstalk
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

将在 Amazon Linux 上运行的多容器 Docker 迁移到 Amazon Linux 2 上的 ECS

Elastic Beanstalk 提供以下由 Amazon ECS 托管的 Docker 平台分支。

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

  • 在 64 位 Amazon Linux 上运行的多容器 Docker

在 64 位 Amazon Linux 上运行的多容器 Docker 平台分支计划于 2022 年 6 月 30 日停用。本主题将指导您将应用程序从上述停用分支迁移到当前平台分支,即,在 64 位 Amazon Linux 2 上运行的 ECS

类似于先前的多容器 Docker AL1 分支,新的 ECS AL2 平台分支使用 Amazon ECS,将多个 Docker 容器协调部署到 Elastic Beanstalk 环境中的 Amazon ECS 集群。新的 ECS AL2 平台分支支持先前的多容器 Docker AL1 平台分支的所有功能。此外,还支持相同的 Dockerrun.aws.json v2 文件。

使用 Elastic Beanstalk 控制台来迁移

要使用 Elastic Beanstalk 控制台进行迁移,请将相同的源代码部署到基于在 64 位 Amazon Linux 2 上运行的 ECS 平台分支的新环境。源代码无需更改。

迁移到在 64 位 Amazon Linux 2 上运行的 ECS 平台分支

  1. 使用已部署到旧环境的应用程序源,创建应用程序源包。您可以使用相同的应用程序源包和相同的 Dockerrun.aws.json v2 文件。

  2. 使用在 64 位 Amazon Linux 2 上运行的 ECS 平台分支创建新环境。将上一步骤中的源捆绑包用于应用程序代码。有关更多详细步骤,请参阅本章前面 ECS 托管的 Docker 教程中的 部署到 Elastic Beanstalk

使用 Amazon CLI 迁移

您还可以选择使用 Amazon Command Line Interface (Amazon CLI) 将现有的多容器 Docker Amazon Linux Docker 环境迁移到较新的 ECS Amazon Linux 2 平台分支。在这种情况下,您无需创建新环境或重新部署源代码。您只需运行 Amazon CLI update-environment 命令。它将执行平台更新,以将现有环境迁移到 ECS Amazon Linux 2 平台分支。

使用以下语法将环境迁移到新的平台分支。

aws elasticbeanstalk update-environment \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 version running ECS" \ --region my-region

以下命令示例是在 us-east-1区域将环境 beta-101 迁移到 版本 3.0.0ECS Amazon Linux 2 平台分支。

aws elasticbeanstalk update-environment \ --environment-name beta-101 \ --solution-stack-name "64bit Amazon Linux 2 v3.0.0 running ECS" \ --region us-east-1

solution-stack-name 参数提供平台分支及其版本。通过指定合适的解决方案堆栈名称来使用最新的平台分支版本。每个平台分支的版本都包含在解决方案堆栈名称中,如上例所示。有关 Docker 平台最新解决方案堆栈的列表,请参阅Amazon Elastic Beanstalk平台指南中的支持平台

注意

list-available-solution-stacks 命令提供 Amazon 区域中您的账户可用的平台版本列表。

aws elasticbeanstalk list-available-solution-stacks --region us-east-1 --query SolutionStacks

要了解有关 Amazon CLI 的更多信息,请参阅Amazon Command Line Interface用户指南。有关 Elastic Beanstalk Amazon CLI 命令的更多信息,请参阅 Amazon CLIElastic Beanstalk 命令参考