如何为 Amazon ECS 中的服务解决“he closest matching container-instance container-instance-id encountered error 'AGENT'”错误?

上次更新时间:2019 年 7 月 3 日

当我尝试在 Amazon Elastic Container Service (Amazon ECS) 中放置任务时,收到以下错误:“[AWS service] was unable to place a task because no container instance met all of its requirements.The closest matching container-instance container-instance-id encountered error 'AGENT'.”

简短描述

在指定用于任务放置的容器实例上运行的 Amazon ECS 容器代理断开连接时,您可能会收到此错误。

注意:如果您没有收到上述错误消息,请根据您收到的以下错误消息选择文章:

解决方法

要解决此错误,请尝试以下故障排查步骤:

检查您的代理日志

1.    使用 SSH 连接到容器实例

2.    检查您的代理日志,路径为:/var/log/ecs/ecs-agent.log.YYYY-MM-DD-HH

注意:将此处的时间戳替换为适用于您的日志的时间戳。

验证代理是否正在该实例上运行

1.    使用 SSH 连接到您的 EC2 实例

2.    要返回容器列表,请运行以下命令:

docker ps

查找使用 ecs-agent 名称运行的容器。有关更多信息,请参阅为什么我的 Amazon ECS 代理列为已断开连接状态?

重启代理

如果您使用的是 Amazon ECS 优化型 AMI,请使用适当的命令停止并重启代理。

对于 Amazon ECS 优化型 Amazon Linux 2 AMI,请运行以下命令:

sudo systemctl restart ecs

对于 Amazon ECS 优化型 Amazon Linux AMI,请运行以下命令:

sudo stop ecs && sudo start ecs