如何使用 Amazon ECS 运行 docker 任务 - 收到错误“STOPPED(CannotStartContainerError:来自 dae 的错误响应)”

Pet*_*lka 16 amazon-web-services amazon-ecs docker

我的目标是执行一个部署为 docker 镜像的基准测试。这样做的时候,我遇到了太多的问题,所以我决定先做一些非常琐碎的工作。

所以我决定遵循https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-task-definition.html 中的指南 并使用“ping”示例 - 它应该只是 ping 几个域,并停止。

问题是,我总是在任务状态中收到此消息:

STOPPED (CannotStartContainerError: Error response from dae)
Run Code Online (Sandbox Code Playgroud)

我尝试了各种子网和安全组,但结果始终相同 - 任务开始,一两分钟后失败并显示上述消息。

我什至在一个全新的 AWS 账户上尝试过,使用以下步骤:

  • https://us-east-2.console.aws.amazon.com/ecs/ 中创建了新集群(仅限网络)
  • 在任务定义中,创建了一个 taskdef
    • 使用 docker 图像alpine:latest,命令ping -c 4 google.com
  • 然后我选择集群,切换到“任务”选项卡,然后进入运行对话框
    • 使用预先创建的子网之一

执行后:

  • 任务以 PENDING 状态出现在集群的任务列表中
  • 需要几分钟
  • 最终(使用刷新按钮),它更改为提到的消息 - STOPPED (CannotStartContainerError: Error response from dae)

我的猜测是,原因是:

  • 要么任务无法下载图像
  • 或者实例无法访问外网

我会做错什么?怎么修?

Har*_*are 11

就我而言,日志组也是问题所在。我配置的那个不起作用。因此,我在容器设置的“日志配置”中启用了“自动配置 CloudWatch 日志”选项。

此外,如果您打开已停止的任务,导航到容器部分,展开它,在详细信息部分下,您可以看到详细的错误消息。下面的截图

如何查看错误详情


Fre*_*fri 4

这可能是问题注释中指出的入口点问题(在任务定义中)Entrypoint: ["sh","-c"]

它也可能是一个错误的引用,例如 LogConfiguration 中的错误日志组或类似的内容。

  • 德克萨斯州。就我而言,它是日志组。不知怎的,我必须手动创建它。 (4认同)