Amazon ECR
用户指南 (API Version 2015-09-21)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

使用 AWS CLI 重新为映像添加标签

对于 Docker Image Manifest V2 Schema 2 映像,您可以使用 put-image 命令的 --image-tag 选项重新为现有映像添加标签,而无需使用 Docker 拉取或推送映像。对于大型映像,此过程可大大节省重新为映像添加标签所需的网络带宽和时间。

使用 AWS CLI 重新为映像添加标签

  1. 使用 batch-get-image 命令可获取要重新标记的映像的映像清单并将其写入环境变量。在此示例中,标签为 latest,所在存储库为 amazonlinux 的映像的清单被写入环境变量 MANIFEST 中。

    MANIFEST=$(aws ecr batch-get-image --repository-name amazonlinux --image-ids imageTag=latest --query images[].imageManifest --output text)
  2. 使用 put-image 命令的 --image-tag 选项将映像清单与新标签一起放置到 Amazon ECR 中。在此示例中,映像的标签为 2017.03

    注意

    如果 --image-tag 选项在您的 AWS CLI 版本中不可用,请升级到最新版本。有关更多信息,请参阅 AWS Command Line Interface 用户指南 中的安装 AWS 命令行界面

    aws ecr put-image --repository-name amazonlinux --image-tag 2017.03 --image-manifest "$MANIFEST"
  3. 验证您的新映像标签是否已附加到您的映像。在以下输出中,映像具有标签 latest2017.03

    aws ecr describe-images --repository-name amazonlinux

    输出:

    { "imageDetails": [ { "imageSizeInBytes": 98755613, "imageDigest": "sha256:8d00af8f076eb15a33019c2a3e7f1f655375681c4e5be157a2685dfe6f247227", "imageTags": [ "latest", "2017.03" ], "registryId": "aws_account_id", "repositoryName": "amazonlinux", "imagePushedAt": 1499287667.0 } ] }