You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Localstack Pro运行ECS任务时无法拉取Docker镜像的解决方法咨询

问题

使用LocalStack Pro创建了ECS集群、ECR仓库,已将Docker镜像推送到该ECR仓库,并创建了使用该镜像的任务定义。执行以下命令运行ECS任务:

awslocal ecs run-task \
  --task-definition "arn:aws:ecs:us-east-1:000000000000:task-definition/test-task-definition:2" \
  --cluster "arn:aws:ecs:us-east-1:000000000000:cluster/test-cluster"

出现错误:

docker.errors.NotFound: 404 Client Error for http+docker://localhost/v1.42/images/create?tag=latest&fromImage=localhost.localstack.cloud%3A4510%2Ftest-image-repo%2Ftest-image-repo: Not Found ("manifest for localhost.localstack.cloud:4510/test-image-repo/test-image-repo:latest not found: manifest unknown: manifest unknown")

解决方法

  • 核对镜像标签一致性
    错误提示找不到latest标签的镜像,需确认推送镜像时使用的标签,与任务定义中指定的镜像标签完全匹配。如果推送时用的是自定义标签(如v1),任务定义里不能写latest,必须对应一致。

  • 验证ECR仓库内镜像状态
    执行命令查看仓库内的镜像列表,确认目标标签的镜像存在:

    awslocal ecr list-images --repository-name test-image-repo
    

    如果镜像不存在,重新推送:

    # 登录LocalStack ECR
    awslocal ecr get-login-password | docker login --username AWS --password-stdin localhost.localstack.cloud:4510
    # 重新打标签并推送,确保标签正确
    docker tag 本地镜像名:标签 localhost.localstack.cloud:4510/test-image-repo/test-image-repo:标签
    docker push localhost.localstack.cloud:4510/test-image-repo/test-image-repo:标签
    
  • 检查任务定义的镜像URI
    确认任务定义中的镜像地址格式正确,LocalStack ECR镜像URI格式为localhost.localstack.cloud:4510/000000000000/<仓库名>:<标签>。可通过以下命令查看任务定义详情,核对镜像字段:

    awslocal ecs describe-task-definition --task-definition test-task-definition:2
    
  • 重启LocalStack服务
    若以上步骤均无问题,可能是LocalStack缓存导致,停止并重启LocalStack服务后再尝试运行任务。

内容的提问来源于stack exchange,提问作者sakina.gadri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 20:33:20