使用容器重启策略重启 Amazon ECS 任务中的单个容器
您可以为任务定义中定义的每个容器启用重启策略,以更快地解决暂时性故障并保持任务可用性。为容器启用重启策略后,Amazon ECS 可以在容器退出时重启该容器,而无需替换任务。
默认情况下,容器不会启用重启策略。为容器启用重启策略时,可以指定容器不会重启的退出代码。这些可能是表示成功的退出代码,例如退出代码 0
,此类退出代码表示不需要重启。您还可以指定容器必须成功运行多长时间后才能尝试重启。有关这些参数的更多信息,请参阅 重启策略。有关指定这些值的任务定义示例,请参阅在 Amazon ECS 任务定义中指定容器重启策略。
您可以使用 Amazon ECS 任务元数据端点或 CloudWatch Container Insights 来监控容器重启的次数。有关任务元数据端点的更多信息,请参阅使用 Amazon ECS 元数据监控工作负载。有关适用于 Amazon ECS 的 Container Insights 指标的更多信息,请参阅《Amazon CloudWatch 用户指南》中的 Amazon ECS Container Insights metrics。
在 Fargate、Amazon EC2 实例以及使用 Amazon ECS Anywhere 的外部实例上托管的任务都支持容器重启策略。
注意事项
为容器启用重启策略时应注意以下几个方面:
-
对于 Amazon EC2 实例上托管的任务,此功能要求您具有版本
1.86.0
或更高版本的容器代理。但是,我们建议使用最新的容器代理版本。有关如何检查您的代理版本并更新到最新版本的信息,请参阅更新 Amazon ECS 容器代理。 -
对于 Fargate 上托管的任务,此功能需要平台版本
1.4.0
或更高版本。有关信息,请参阅适用于 Amazon ECS 的 Fargate 平台版本。 -
如果在容器定义中指定了
firelensConfiguration
对象,则无法为该容器启用容器重启策略。 -
如果具有重启策略的容器在容器实例上的 Amazon ECS 代理断开连接时退出,则该容器不会重启。