本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon 上重新标记图片 ECR
借助 Docker Image Manifest V2 Schema 2 镜像,可以使用 --image-tag
命令的 put-image 选项重新为现有镜像添加标签。无需使用 Docker 提取或推送镜像,即可重新添加标签。对于大型镜像,此过程可大大节省重新为镜像添加标签所需的网络带宽和时间。
要使用重新标记图像 Amazon CLI
-
使用 batch-get-image 命令可获取要重新添加标签的镜像的镜像清单并将其写入文件中。在此示例中,带有标签的图像的清单
latest
,在存储库中,amazonlinux
,写入名为的环境变量MANIFEST
.MANIFEST=$(aws ecr batch-get-image --repository-name
amazonlinux
--image-ids imageTag=latest
--output text --query 'images[].imageManifest') -
使用put-image命令的
--image-tag
选项将ECR带有新标签的图片清单放到 Amazon。在此示例中,图像被标记为2017.03
.注意
如果该
--image-tag
选项在您的版本中不可用 Amazon CLI,请升级到最新版本。有关更多信息,请参阅Amazon Command Line Interface 《用户指南》中的安装 Amazon Command Line Interface。aws ecr put-image --repository-name
amazonlinux
--image-tag2017.03
--image-manifest "$MANIFEST" -
验证您的新镜像标签是否已附加到您的镜像。在以下输出中,镜像具有标签
latest
和2017.03
。aws ecr describe-images --repository-name
amazonlinux
您可以在一个 (扩展) 代码行中执行所有这些操作:
{ "imageDetails": [ { "imageSizeInBytes": 98755613, "imageDigest": "sha256:8d00af8f076eb15a33019c2a3e7f1f655375681c4e5be157a26EXAMPLE", "imageTags": [ "latest", "2017.03" ], "registryId": "
aws_account_id
", "repositoryName": "amazonlinux", "imagePushedAt": 1499287667.0 } ] }
要使用重新标记图像 Amazon Tools for Windows PowerShell
-
使用 Get-ECRImageBatch cmdlet 获取要重新添加标签的镜像的描述,并将该镜像写入到环境变量。在此示例中,带有标签的图像
latest
,在存储库中,amazonlinux
,写入环境变量,$Image
.注意
如果您的系统上没有可用的 Get-ECRImageBatch cmdlet,请参阅 Amazon Tools for Windows PowerShell 用户指南中的设置 Amazon Tools for Windows PowerShell。
$Image = Get-ECRImageBatch -ImageId @{ imageTag="
latest
" } -RepositoryNameamazonlinux
-
将图像的清单写入
$Manifest
环境变量。$Manifest = $Image.Images[0].ImageManifest
-
使用 Write-ECRImage cmdlet 的
-ImageTag
选项将ECR带有新标签的图像清单放到亚马逊。在此示例中,图像被标记为2017.09
.Write-ECRImage -RepositoryName
amazonlinux
-ImageManifest $Manifest -ImageTag2017.09
-
验证您的新镜像标签是否已附加到您的镜像。在以下输出中,镜像具有标签
latest
和2017.09
。Get-ECRImage -RepositoryName
amazonlinux
您可以在一个 (扩展) 代码行中执行所有这些操作:
ImageDigest ImageTag ----------- -------- sha256:359b948ea8866817e94765822787cd482279eed0c17bc674a7707f4256d5d497 latest sha256:359b948ea8866817e94765822787cd482279eed0c17bc674a7707f4256d5d497 2017.09