amazon-web-services - Amazon Elastic Container Service 中的无法拉取容器错误

标签 amazon-web-services docker containers amazon-ecs aws-fargate

我正在尝试在 Amazon ECS 中启动任务,但收到以下错误:

CannotPullContainerError: Error response from daemon, request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).

我能够在我的本地环境中提取容器并且它工作正常,但是在尝试在亚马逊环境中部署时出现此错误。

最佳答案

suggested checks来自亚马逊的如下:

  • 确认用于运行任务的子网在路由表中具有到 Internet 网关或 NAT 网关的路由。
    注意:您可以使用 AWS PrivateLink,而不是 Internet 网关或 NAT 网关。为避免错误,请务必正确配置 AWS PrivateLink 或 HTTP 代理。
  • 如果您在公有子网中启动任务,请在 Amazon EC2 控制台中启动任务时为自动分配公有 IP 选择启用。这允许您的任务具有出站网络访问权限以提取图像。
  • 如果您在 Amazon VPC 中使用 Amazon 提供的 DNS,请确认附加到实例的安全组允许 HTTPS(端口 443)出站访问。
    如果您使用的是自定义 DNS,请确认允许端口 53 上的 DNS(UDP 和 TCP)出站访问和端口 443 上的 HTTPS 访问。
  • 确认您的网络 ACL 规则没有阻止到注册表的流量。

  • 此错误最终指向运行容器的子网或 MicroVM 与 ECS 服务之间的网络连接问题。

    默认情况下,它将遍历公共(public)互联网(除非您设置了正确的 VPC 端点)。因此,如果您没有出站 Internet 支持,您将无法连接到 ECR 端点。

    关于amazon-web-services - Amazon Elastic Container Service 中的无法拉取容器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62375967/

    相关文章:

    amazon-web-services - 如何处理关系数据库中的AWS IOT流数据

    selenium - 如何修复 docker 容器中的 "org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: crashed"

    Azure 服务总线未经授权错误 : InvalidSignature: The token has an invalid signature inside Kubernetes cluster

    docker - 限制容器中打开文件的数量

    amazon-web-services - 在 RStudio EC2 实例中从 S3 读取大型 JSON 文件(Louis Aslett 的 AMI)

    amazon-web-services - aws上本地tomcat网站请求网站

    c++ - 为什么c++11标准库中没有std::clear

    azure - 使用 helm 从 ACR 中拉出容器

    amazon-web-services - 如何添加 EMR Spark 步骤?

    docker - Kubernetes/Spring Cloud Dataflow 流 > spring.cloud.stream.bindings.output.destination 被生产者忽略