[英]ECS equivalent of docker-compose's command
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 可以解析和转换:
cat docker-compose.yml | container-transform -v
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.