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

0

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

profile picture
EXPERTE
gefragt vor 6 Monaten8 Aufrufe
1 Antwort
0

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

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

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

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

profile picture
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen