繁体   English   中英

ECS 相当于 docker-compose 的命令

[英]ECS equivalent of docker-compose's command

我有一个使用 docker-compose 运行的应用程序。

现在我正在迁移要在 ECS 上托管的应用程序。

我正在将 docker-compose 设置转换为 boto3 ECS 等效项。

不幸的是,我在AWS CLI中找不到等效的 docker-compose命令

ECS 不包含 docker-compose 命令。 相反,您将指定一个任务定义文件,其中包含服务的所有定义以及驻留在其中的容器。

然后,ECS 服务将根据任务定义进行部署,您只需定义参数,例如一次运行的任务数量。

但是,您可以使用ecs-cli工具为您执行此迁移,使用ecs-cli compose命令它可以获取 docker-compose 文件并执行这些转换。

查看Using Docker Compose File Syntax页面,了解 docker-compose 文件支持哪些参数。

您可以将容器转换与 boto3 一起使用,这会将 docker-compose 转换为等效的 ECS 任务定义。 这也是基于 python。

container-transform 是一个小型实用程序,用于将各种 docker 容器格式相互转换。

目前,container-transform 可以解析和转换:

  • Kubernetes Pod 规格
  • ECS 任务定义
  • Docker-compose 配置文件
  • Marathon 应用程序定义或应用程序组
  • Chronos 任务定义容器转换
cat docker-compose.yml | container-transform  -v

撰写到 ecs

AWS ECS 道路 map 也建议使用工具

我们不太可能直接在我们的 API 中支持 docker-compose 格式。 但是,像 container-transform 这样将 docker-compose 文件转换为 ECS 任务定义的工具对您有用吗? 然后您可以在 boto 中使用生成的 ECS 任务定义文件。

您还可以使用ECS ComposeX ,这将允许您继续使用您的 docker-compose 定义,因为它们存在于本地目的,因为它不会为 docker-compose 引入任何不受支持的扩展,但还允许您定义 RDS/DocDB/DynamoDB/Kinesis 和许多其他您可以自动链接到您的服务的选项。

准备就绪后,ComposeX 将转换 CFN 模板中的所有内容,其中包含 AWS ECS 定义和所有必要的资源,这些资源在逻辑上链接到一起工作但同样自给自足(因此您可以单独部署事物,例如 DB)。

所有模板都通过 cloudformation API 自动解析和验证(尽其所能)。 它旨在使用 AWS 服务,并遵循所有最佳实践,包括允许您定义对服务和 AWS 资源的最低特权访问。

它支持自动扩展、创建/使用现有的 ECS 集群,旨在使工作负载主要在 Fargate 上,但也在 EC2 实例上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM