AWS Fargate任务调试,"CannotPullContainerError ...无效参考格式"是什么意思?

Raj*_*Dev 6 amazon-web-services docker-container aws-ecs aws-fargate

我有一个存储在AWS ECR上的docker容器,使用我创建的Task这个容器.当我在Fargate上运行Task时,服务从PROVISIONING> PENDING(红色)> STOPPED状态移动.

服务事件或CloudWatch中没有日志.绝对没办法知道什么是真正的问题.

知道哪种方式移动,AWS文档没有帮助.

raj*_*esk 2

AWS Fargate 有一个简单但缺少的信息,这就是导致您遇到问题的原因。让我逐步解释一下。

第一步是创建任务定义,当您这样做时,您可以定义

 Entry point ["/bin/ls"]
Command     [">","/list.txt","|","echo","/list.txt"]
Run Code Online (Sandbox Code Playgroud)

这相当于 /bin/ls > /list.txt | 回显/list.txt。

请注意,中间的空格必须用逗号替换。AWS Farget 团队忘记的是,在向导的任务定义 > 添加容器部分中,文本框 [![在此处输入图像描述][1]][1] 中提供了此逗号分隔符 echo,helloworld。但在任务表单中没有这样的信息。这很令人困惑。

最后一件事,AWS Fargate 用于调试的信息非常有限。这是我的建议

  • 您只能在 Cluster>Task>{TaskName}>{container} 下得到可能的错误。根据错误原因。
  • 如果错误很小,我总是得到错误代码0,代码0之间没有空格。云手表上也没有任何内容。
  • 如果错误文本很大(可能约为 20 个字符或 > ),您将在 #1 和 CloudWatch 日志中看到它。

希望能帮助到你