如何通过AWS CLI获取ECR镜像URI?当前命令仅返回标签与摘要
解决ECR获取镜像URI的问题
aws ecr list-images 命令本身仅返回镜像标签和摘要,不会直接输出完整的镜像URI。ECR镜像URI有固定结构,你可以通过以下方式获取:
手动拼接URI
ECR镜像URI的格式分为两种:
- 基于标签:
<AWS账号ID>.dkr.ecr.<区域>.amazonaws.com/<仓库名>:<标签> - 基于摘要:
<AWS账号ID>.dkr.ecr.<区域>.amazonaws.com/<仓库名>@<摘要>
你可以用以下命令快速获取所需的账号ID和区域:
- 获取AWS账号ID:
aws sts get-caller-identity --query Account --output text - 获取当前配置的区域:
aws configure get region
拿到这些信息后,结合list-images返回的标签或摘要,就能拼接出完整的镜像URI。
用命令自动生成完整URI
推荐使用aws ecr describe-images命令,它返回的信息更完整,配合工具或CLI内置查询可直接生成URI:
按标签生成URI(需安装jq)
aws ecr describe-images --repository-name <repo_name> --query 'imageDetails[*]' | jq -r '.[] | "\(.repositoryUri):\(.imageTags[0])"'
按摘要生成URI(需安装jq)
aws ecr describe-images --repository-name <repo_name> --query 'imageDetails[*]' | jq -r '.[] | "\(.repositoryUri)@\(.imageDigest)"'
无jq时用CLI内置查询生成标签式URI
aws ecr describe-images --repository-name <repo_name> --query 'imageDetails[*].join(`:`, [repositoryUri, imageTags[0]])' --output text
内容的提问来源于stack exchange,提问作者Kamil Mansoor
相关产品推荐
相关产品推荐

