Ale*_*lex 8 amazon-ec2 amazon-web-services aws-cli
如果需要,使用AWS CLI和jq,我正在尝试在特定仓库中获取最新图像的标记.
让我们调用回购foo,并说最新的图像被标记bar.我用什么查询返回bar?
我得到了
aws ecr list-images --repository-name foo
Run Code Online (Sandbox Code Playgroud)
然后意识到列表图像文档没有提供日期作为可查询字段的引用.在终端中粘贴以上内容为我提供了仅包含标签和摘要的密钥对,没有日期.
还有一些方法可以获得"最新"的图像吗?我可以假设它将永远是返回输出中的第一个或最后一个吗?
Fré*_*nri 22
你可以describe-images改用.
aws ecr describe-images --repository-name foo
Run Code Online (Sandbox Code Playgroud)
返回imagePushedAt哪个是可用于过滤的时间戳属性.
我的帐户中没有用于测试的示例,但下面的内容应该可行
aws ecr describe-images --repository-name foo \
--query 'sort_by(imageDetails,& imagePushedAt)[*]'
Run Code Online (Sandbox Code Playgroud)
如果您想要使用排序方法的另一种风格,您可以查看此帖子
要仅获取最新图像,而不需要上述答案所需的特殊字符的少量添加。
aws ecr describe-images --repository-name foo --query 'sort_by(imageDetails,& imagePushedAt)[-1].imageTags[0]' --output text
Run Code Online (Sandbox Code Playgroud)
要添加到弗雷德里克的答案中,如果您需要最新的信息,可以使用[-1]:
aws ecr describe-images --repository-name foo \
--query 'sort_by(imageDetails,& imagePushedAt)[-1].imageTags[0]'
Run Code Online (Sandbox Code Playgroud)
假设您在图像上使用单个标记...否则,您可能需要使用imageTags[*]并做一些更多的工作来获取所需的标记。
列出推送到 ECR 的最新 X 镜像
aws ecr describe-images --repository-name gvh \
--query 'sort_by(imageDetails,& imagePushedAt)[*].imageTags[0]' --output yaml \
| tail -n 3 | awk -F'- ' '{print $2}'
Run Code Online (Sandbox Code Playgroud)
列出推送到 ECR 的前 X 个图像
aws ecr describe-images --repository-name gvh \
--query 'sort_by(imageDetails,& imagePushedAt)[*].imageTags[0]' --output yaml \
| head -n 3 | awk -F'- ' '{print $2}'
Run Code Online (Sandbox Code Playgroud)
根据用户要求,数字“X”可以概括为头命令或尾命令
| 归档时间: |
|
| 查看次数: |
9594 次 |
| 最近记录: |