本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
检查已停止的任务是否存在错误
如果您在启动任务时遇到问题,则您的任务可能会因错误而停止。例如,在您运行任务时,该任务显示 PENDING
状态,然后消失。您可以在 Amazon ECS 控制台中查看已停止的任务并检查该任务是否存在错误消息,从而查看已停止的任务错误。
Amazon ECS 如果已停止的任务在 EventBridge 控制台的视图中已过期, 还会发送任务状态更改事件,您可以查看Amazon ECS这些事件。有关更多信息,请参阅任务状态更改事件.
检查已停止的任务是否存在错误 (AWS 管理控制台)
-
在 https://console.amazonaws.cn/ecs/
上打开 Amazon ECS 控制台。 -
在 Clusters (集群) 页面上,选择已停止的任务所在的集群。
-
在集群 上:
clustername
页面上,选择 Tasks (任务)。 -
在 Desired task status (预期任务状态) 表标头中,选择 Stopped (已停止),然后选择要检查的已停止任务。首先列出最近停止的任务。
-
在 Details (详细信息) 部分中,检查 Stopped reason (停止原因) 字段以查看任务已停止的原因。
下面列出了一些可能的原因及它们的解释:
- Task failed ELB health checks in (elb elb-name)
-
当前任务未通过针对与任务的服务关联的负载均衡器的 Elastic Load Balancing 运行状况检查。有关更多信息,请参阅服务负载均衡器问题排查.
- Scaling activity initiated by (deployment deployment-id)
-
当您减少稳定服务的预期数量时,必须停止一些任务才能达到预期数量。通过缩小服务规模停止的任务具有此停止原因。
- 主机 EC2实例)
id
) 已停止/已终止 -
如果您停止或终止一个具有正在运行的任务的容器实例,这些任务将获得此停止原因。
- Container instance deregistration forced by user
-
如果您强制取消注册一个具有正在运行的任务的容器实例,这些任务将获得此停止原因。
- Essential container in task exited
-
如果任务定义中标记为
essential
的容器退出或发生故障,则将导致任务停止。如果主要容器退出是导致任务停止的原因,则步骤 6 会提供有关导致容器停止的原因的更多诊断信息。
-
如果您的容器已停止,请展开容器并检查 Status reason (状态原因) 行以查看导致任务状态更改的原因。
在上一个示例中,找不到容器映像名称。如果您拼错了映像名称,则会发生此情况。
如果此检查提供的信息不足,您可以使用 SSH 连接到容器实例并在本地检查 Docker 容器。有关更多信息,请参阅检查 Docker 容器.
检查已停止的任务是否存在错误 (AWS CLI)
-
列出集群中已停止的任务。输出将包含任务的 Amazon 资源名称 (ARN),您需要该名称来描述任务。
aws ecs list-tasks \ --cluster
cluster_name
\ --desired-status STOPPED \ --regionus-west-2
-
描述已停止的任务以检索响应
stoppedReason
中的 。aws ecs describe-tasks \ --cluster cluster_name \ --tasks arn:aws:ecs:
us-west-2
:account_id
:task/cluster_name
/task_ID
\ --regionus-west-2