AWS ECR图像列表
我有一个ECR存储库设置,现在包含两个图像,顺序标签1和2.我打算从这个时候自动推动docker图像,我的要求是当我下一次推图像,它的标签应该是3,所以我必须以某种方式确定下一个数字应为3,因为最新版本是2.我不想保留本地版本。 所以我需要ECR本身的信息。 有什么想法吗? 以下命令将给出存储库中所有图像的列表
aws ecr list-images
感谢@Matt指出jq。 安装jq后,下面的命令会给出最新版本
aws ecr list-images --repository-name REPOSITORY_NAME | jq '.imageIds | map (.imageTag)|sort|.[]' | sort -r | head -1
ECR ListImages
API端点将列出存储库中的所有图像shasum和任何相关标签。 你也可以filter
到那些被TAGGED
那些。
有一个Java SDK (但我不处理Java,所以不会有太大的帮助)。
Node.js的Javascript是非常简单的,为返回的对象/数组/对象进行一些lodash链处理。
const _ = require('lodash') const Promise = require('bluebird') const AWS = require('aws-sdk') let config = { region: 'us-west-1', repo = 'myrepo' } const ecr = new AWS.ECR({region: config.region}) Promise.promisifyAll(ecr) ecr.listImagesAsync({ repositoryName: config.repo, filter: { tagStatus: 'TAGGED'} }) .then( data => { let img = _(data.imageIds).sortBy('imageTag').last() console.log(img.imageTag) })
您可以用当前目录安装脚本的依赖关系
npm init -y && npm install aws-sdk lodash bluebird --save
如果你想处理shell中输出的aws ecr list-images
试试jq
。
- Amazon ECS故障排除任务启动失败
- 使用docker-machine进行部署时,docker COPY不工作
- 用于云部署的Hibernate数据库configuration
- 使用AWS Simple Workflow启动Docker容器
- 创buildAWS Batch Managed Compute Environment将UserData传递给容器实例
- 结合salt,docker和Amazon EC2来托pipePython应用程序
- 是否可以在EC2实例上执行AWS CLI命令,而不在AWS上放置AWS凭证?
- Docker-Machine AWS策略
- Elastic BeanStalk Docker应用程序,编写本地文件