AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1152398
Accepted
Dario Seidl
Dario Seidl
Asked: 2024-01-28 01:04:28 +0800 CST2024-01-28 01:04:28 +0800 CST 2024-01-28 01:04:28 +0800 CST

Elastic Beanstalk 多容器 Docker 环境到 AL2 的迁移选项之间有什么区别?

  • 772

我们在 Amazon Linux 1 上运行 Elastic Beanstalk 多容器 Docker 环境,该环境已被弃用,需要迁移到 Amazon Linux 2。

该文档提供了两种执行此操作的选项:

  • 迁移到在 Amazon Linux 2 上运行的 ECS
  • 迁移到在 Amazon Linux 2 上运行的 Docker

据我了解,他们推荐第一个选项,因为 ECS 平台与 AL1 上的当前平台更相似。

然而,我想知道这两个选项之间的实际差异是什么。ECS 在这方面到底扮演什么角色,与纯 Docker 相比有什么优势?

在 ECS 上,我们使用 Dockerrun.aws.json 进行部署,该文件是通过容器转换从 docker-compose.yml 生成的。这可行,但如果我们可以跳过该转换,那就太好了。使用第二种方案,在没有ECS的情况下,是否可以直接部署docker-compose.yml文件?

我们使用单个实例,没有负载均衡器(但希望为将来保留该选项)。

有没有人通过这两种选择完成了此迁移,并且可以提供有关该过程的一些见解?


我去年问过这个问题,但没有得到任何答案或点赞,所以它被社区机器人删除了。我再次发布它,因为我现在必须进行迁移,并且有人建议我这样做。

与此同时,Amazon Linux 2023 已经发布,但问题基本保持不变(Docker 平台还是 ECS 平台?)。

amazon-ec2
  • 1 1 个回答
  • 87 Views

1 个回答

  • Voted
  1. Best Answer
    Dario Seidl
    2024-02-01T00:10:55+08:002024-02-01T00:10:55+08:00

    我现在正在进行迁移,可以分享到目前为止我学到的东西。

    随着 Amazon Linux 2023 的发布,他们还更新了文档。我发现以下几点与做出决定最相关:

    Docker 平台分支

    Elastic Beanstalk Docker 平台支持以下平台分支:运行 Amazon Linux 2 的 Docker 和运行 AL2023 的 Docker

    Elastic Beanstalk 将 Docker 容器和源代码部署到 EC2 实例并管理它们。这些平台分支提供多容器支持。您可以使用 Docker Compose 工具来简化应用程序配置、测试和部署。有关此平台分支的更多信息,请参阅使用 Docker 平台分支。

    在 Amazon Linux 2 上运行的 ECS 和在 AL2023 上运行的 ECS

    我们为需要从在(Amazon Linux AMI) 上运行的已停用平台分支多容器 Docker迁移到 AL2023/AL2 的客户提供此分支。最新的平台分支支持已退役平台分支的所有功能。无需更改源代码。有关更多信息,请参阅将在 Amazon Linux 上运行的多容器 Docker 迁移到 Amazon Linux 2023 上的 ECS。如果您没有在基于 ECS 的平台分支上运行的 Elastic Beanstalk 环境,我们建议您使用平台分支 Docker 运行于64位AL2023。这提供了一种更简单的方法并且需要更少的资源。

    该平台分支使用 Amazon ECS 协调将多个 Docker 容器部署到 Elastic Beanstalk 环境中的 Amazon ECS 集群。ECS 集群包含托管 Docker 容器的 EC2 实例。为了完成此部署编排,Elastic Beanstalk 创建一个 ECS 任务定义,其中还包括一个容器定义。环境中的每个实例都运行同一组容器,这些容器在 Dockerrun.aws.jsonv2 文件中定义。有关更多信息,请参阅使用 Amazon ECS 平台分支。

    来源

    强调我的。总结一下:ECS平台提供了更容易的迁移,但是Docker平台更简单并且使用的资源更少。

    由于无论如何我们都必须更新配置,因此迁移到 Docker 平台似乎是一个好主意,即使这会增加工作量,因为我更喜欢使用“使用更少资源”的“更简单的方法”。直接使用 docker-compose 比使用 ECS 任务更熟悉。

    之前,我们使用container-transform将 docker-compose 文件转换为 Dockerrun.aws.json 。在Docker平台上,就不需要这一步了,我们可以直接部署docker compose。

    我必须docker-compose.yml为每个容器将以下选项添加到文件中:

    • mem_limit
    • env_file: .env
    • restart: no对于essential: false位于Dockerrun.aws.json

    部署工件中不需要进行其他更改。我们现在将 thedocker-compose.yml与 the 捆绑在一起.ebextensions,就像我们之前对 the 所做的那样Dockerrun.aws.json。

    • 0

相关问题

  • 权限被拒绝(公钥)。从本地 Ubuntu 到 Amazon EC2 服务器的 SSH

  • 管理员如何管理他们的 EC2 EBS 和快照?

  • 云有多大?[关闭]

  • EC2 映像启动

  • 如何将安全组添加到正在运行的 EC2 实例?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve