是否可以使用 ecs-cli compose 注册任务定义?

Is it possible to register task Definitions with ecs-cli compose?

我想了解 ecs-cli docker-compose 是否(以及如何)注册任务定义。

aws 文档指出: "works with a Docker compose file to create task definitions and manage tasks." ecs-cli-compose 文档似乎没有提到任务注册。

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cmd-ecs-cli-compose.html

然而,注册任务定义似乎是一个相当繁琐的过程,涉及一个复杂的 json 文件,其中定义了 i) "family"、ii) 一组可接受的容器定义和 iii) 一个或更多可选任务角色。

http://docs.aws.amazon.com/cli/latest/reference/ecs/register-task-definition.html

如果能帮助我解决困惑,我们将不胜感激。

创建任务定义和注册是一回事。所以,是的,ecs-cli compose up 包括任务定义注册,但前提是任务定义尚不存在。如果您 运行 up 多次使用相同的 docker-compose 文件,则使用相同的任务定义。这对用户来说是透明的运行。

您也可以根据 ECS Developer Guide.

使用 ecs-cli compose create 仅执行任务定义注册(而不 运行 绑定任务)

例如,我在 ecsclitest 目录和 运行 ecs-cli compose --file docker-compose.yml up 中创建了一个简单的 docker-compose.yml 文件。这是 AWS ECS 控制台中列出的结果任务:

任务定义修订版是 2,因为我之前 运行 ecs-cli compose up 使用不同的 docker-compose 文件。