如何获取失败任务的容器日志?

0

【以下的问题经过翻译处理】 我正在使用docker compose运行我的ecs fargate服务,但遇到了“AggregatorService TaskFailedToStart: Task failed to start”错误。 我该如何获取服务的日志并知道任务失败的原因?

profile picture
专家
已提问 5 个月前6 查看次数
1 回答
0

【以下的回答经过翻译处理】 您可能需要检查日志组是否在服务任务启动失败时创建和删除。如果日志组是在CFN部署期间创建的,那么它可能只是在回滚时被删除了。

找出原因的最好方法是转到 ECS ->群集->服务->任务。在那里,一旦您看到您的任务处于挂起状态,请单击它。展开容器,您将能够找到指向容器日志流的快捷链接。同样,您还将能够看到退出代码。如果您在docker中的应用程序在执行任何日志记录之前就失败了,这是可能的,那么您可以通过退出代码来找到失败原因 (很有可能退出码不等于0)。

您可以 “patch” 您的 dockerfile 或 entrypoint,在主程序启动之前打印 “Hello, I am starting”。这将告诉您任务失败是因为您的应用程序还是由于其他原因,比如 缺少权限/镜像错误等。

如果您想生成用于部署服务的CFN模板,以便您可以查看并可能调整结果,请尝试ECS Compose-X。实现与docker ecs插件相同的功能,但以非常不同的方式执行并具有许多不同的功能。无论哪种方式,希望上面的指南对您有所帮助。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则