【问题标题】:How to trouble shoot containers on ECS Fargate?如何对 ECS Fargate 上的容器进行故障排除?
【发布时间】:2019-12-24 06:36:22
【问题描述】:

我创建了一个任务,它使用来自 ECR 存储库的 docker 映像和 ECS 中的服务。运行环境为Fargate,所以没有运行ec2实例。我配置完所有资源后,服务的状态是ACTIVATE,但是任务的状态是STOPPED,有原因

Status reason   CannotPullContainerError: Error response from daemon: Get https://773592622512.dkr.ecr.ap-southeast-1.amazonaws.com/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

我在任务定义上放的docker镜像是773592622512.dkr.ecr.ap-southeast-1.amazonaws.com/flask:latest

单击View logs in CloudWatch 时,我看到了空的日志流。我想知道如何调试这个问题?是否必须将容器部署到 ec2 才能看到更详细的错误消息?

我已将此策略添加到任务角色:AmazonEC2ContainerRegistryFullAccess。为什么拉不出来

【问题讨论】:

    标签: amazon-web-services amazon-ecs aws-fargate


    【解决方案1】:

    经过一些调试后,我发现问题已通过添加源 0.0.0.0/0 来解决,该源指向与任务使用的 VPC 关联的子网中的互联网网关。然后在定义任务时启用Assign public IP address。 AWS 没有给我太多有用的调试日志。

    【讨论】:

      【解决方案2】:

      尝试在启动 Fargate 任务时启用自动分配公共 IP。当您通过 AWS 控制台在 Fargate 上运行任务时,您应该会在 VPC and security groups 标头下看到此设置。

      【讨论】:

        猜你喜欢
        • 2021-12-25
        • 1970-01-01
        • 2011-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        相关资源
        最近更新 更多