

# Amazon ECS 任务定义
<a name="task_definitions"></a>

*任务定义*是应用程序的蓝图。它是描述构成应用程序的参数和一个或多个容器的 JSON 格式的文本文件。

您可在任务定义中指定的一些参数：
+ 要使用的容量，这决定了托管您的任务的基础设施
+ 要用于任务中的每个容器的 Docker 映像
+ 要用于每个任务或任务中的每个容器的 CPU 和内存数量
+ 内存和 CPU 要求
+ 运行任务所在的容器的操作系统
+ 在您的任务中用于容器的 Docker 联网模式
+ 要用于您的任务的日志记录配置
+ 在容器完成或失败时，任务是否继续运行
+ 容器在启动时运行的命令
+ 在任务中用于容器的任何数据卷
+ 您的任务使用的 IAM 角色

要获得任务定义参数的完整列表，请参阅 [Fargate 的 Amazon ECS 任务定义参数](task_definition_parameters.md)。

创建任务定义后，您可以将任务定义作为任务或服务运行。
+ *任务* 是集群内的任务定义的实例化。在为 Amazon ECS 中的应用程序创建任务定义后，您可以指定将在集群上运行的任务的数量。
+ Amazon ECS *服务*在 Amazon ECS 集群中同时运行和维护您所需数量的任务。它的工作原理是，如果您的任何任务出于任何原因失败或停止，Amazon ECS 服务调度器将根据您的任务定义启动另一个实例。这样做是为了替换它，从而保持服务中所需的任务数量。

**Topics**
+ [Amazon ECS 任务定义状态](task-definition-state.md)
+ [设计适用于 Amazon ECS 的应用程序架构](application_architecture.md)
+ [使用控制台创建 Amazon ECS 任务定义](create-task-definition.md)
+ [使用 Amazon Q 开发者版在 Amazon ECS 控制台中提供任务定义建议](using-amazon-q.md)
+ [使用控制台更新 Amazon ECS 任务定义](update-task-definition-console-v2.md)
+ [使用控制台注销 Amazon ECS 任务定义修订](deregister-task-definition-v2.md)
+ [使用控制台删除 Amazon ECS 任务定义修订](delete-task-definition-v2.md)
+ [Amazon ECS 任务定义应用场景](use-cases.md)
+ [Amazon ECS 托管实例的 Amazon ECS 任务定义参数](task_definition_parameters-managed-instances.md)
+ [Fargate 的 Amazon ECS 任务定义参数](task_definition_parameters.md)
+ [Amazon EC2 的 Amazon ECS 任务定义参数](task_definition_parameters_ec2.md)
+ [Amazon ECS 任务定义模板](task-definition-template.md)
+ [Amazon ECS 任务定义示例](example_task_definitions.md)