如何查看ECS任务运行的ECR镜像及imageDigest sha256哈希值?
查询ECS运行容器对应的ECR镜像imageDigest
我来给你几个直接有效的方法,帮你找到运行中ECS容器对应的ECR镜像sha256哈希值,完美解决你验证CI作业的需求:
方法1:直接通过Container ARN查询(最快)
你已经有了容器的ARN,直接用aws ecs describe-containers命令就能拿到镜像digest:
aws ecs describe-containers --cluster <你的ECS集群名称> --containers arn:aws:ecs:<region>:<aws_account_id>:container/7c01765b-c588-45b3-8290-4ba38bd6c5a6
执行后返回的JSON结果里,目标容器的条目下会明确列出imageDigest字段,比如:
{ "containers": [ { "containerArn": "arn:aws:ecs:<region>:<aws_account_id>:container/7c01765b-c588-45b3-8290-4ba38bd6c5a6", "imageDigest": "sha256:45adcc...", // 其他容器信息 } ] }
直接把这个值和CI作业推送的镜像digest对比,就能验证CI是否正常运行。
方法2:通过Container Instance ARN间接查询
如果需要从容器实例入手,先列出该实例上所有运行的任务:
aws ecs list-tasks --cluster <你的ECS集群名称> --container-instance arn:aws:ecs:<region>:<aws_account_id>:container-instance/18f9eda5-27d7-4c19-b133-45adc516e8fb
拿到返回的任务ARN后,再查询任务的详细信息:
aws ecs describe-tasks --cluster <你的ECS集群名称> --tasks <返回的任务ARN>
在结果的tasks[].containers[]数组里找到目标容器,同样能看到imageDigest字段。
小提示
- 如果你不确定集群名称,可以用
aws ecs list-clusters命令列出所有集群。 - 相比
aws ecr list-images只返回仓库中的镜像,从ECS运行任务/容器中获取的imageDigest是当前正在运行的镜像的真实哈希,完全匹配你的验证需求。
内容的提问来源于stack exchange,提问作者claj
相关产品推荐
相关产品推荐

