【问题标题】:How do I get the docker image ID of a Fargate task using the CLI/SDK?如何使用 CLI/SDK 获取 Fargate 任务的 docker 镜像 ID?
【发布时间】:2019-07-08 21:17:18
【问题描述】:

我想确保任务正在运行最新的图像。

在容器中,我可以通过调用http://169.254.170.2/v2/metadata 来获取 docker 镜像 ID(例如 183f9552f0a5),但是我正在寻找一种在我的笔记本电脑上获取它的方法。

这可以通过 AWS CLI 或 SDK 实现吗?

【问题讨论】:

    标签: amazon-web-services aws-fargate


    【解决方案1】:

    您首先需要使用 describe_tasks 获取任务的任务定义 ARN。如果您已经知道 ARN,则可以跳过此步骤。

    aws ecs describe-tasks --tasks TASK_ARN
    

    然后就可以使用describe_task_definition获取图片名称了。

    aws ecs describe-task-definition --task-definition TASKDEF_ARN
    

    【讨论】:

    • aws ecs describe-task-definition --task-definition TASKDEF_ARN | jq .taskDefinition.containerDefinitions[].image 显示了像 XXXXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com/sinatra2:latest 这样的图像 URL,但我正在寻找的是像 183f9552f0a5 这样的 docker 图像 ID。有可能获得吗?
    • 是的,我现在明白了,这就是您所要求的。如果图像在 ECR 中,您可以使用 describe-images 来检索给定存储库名称和标签的图像 ID。其他 repos 可以提供类似的 API 来检索图像 ID,因为我相信它只是图像本身的 SHA 摘要。
    • 我正在使用 ECR,但考虑这种情况: 1. 以latest 推送映像 2. 在 ECS 中部署映像 3. 重建映像并再次以 latest 推送 4. 获取映像来自 ECS/ECR 的 URL 和 SHA 摘要 在这种情况下,CLI 将报告新的摘要。我需要 ECS 正在运行的映像的确切摘要。
    • 我觉得你运气不好。我会向 AWS 提出功能请求。
    • 我正试图弄清楚同样的事情。
    猜你喜欢
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 2020-04-30
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多