首页 > 解决方案 > 将命令作为变量传递给 ECS 任务定义

问题描述

有没有办法将 Docker 命令作为 Terraform 变量传递给 Terraform 中定义的 ECS 任务定义?

标签: amazon-web-servicesdockerterraformamazon-ecsterraform-provider-aws

解决方案


根据aws_ecs_task_definition文档,该属性是一个未解析的 JSON 对象,它是一个容器定义container_definitions数组,您可以直接传递给 AWS API。该对象的属性之一是.command

稍微解释一下文档,您会想出一个示例任务定义,例如:

resource "aws_ecs_task_definition" "service" {
  family                = "service"
  container_definitions = <<DEFINITIONS
[
  {
    "name": "first",
    "image": "service-first",
    "command": ["httpd", "-f", "-p", "8080"],
    "cpu": 10,
    "memory": 512,
    "essential": true
  }
]
DEFINITIONS
}

推荐阅读