本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過 Docker 映像資訊清單 V2 結構描述 2 映像,您可以使用 --image-tag
命令的 put-image 選項以重新標記現有映像。您可以使用 Docker 來重新標記,而不需提取和推送映像。針對較大的映像,此程序節省了重新標記映像所需的大量網路頻寬與時間。
使用 重新標記映像 AWS 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
選項 AWS CLI,請升級至最新版本。如需詳細資訊,請參閱《AWS Command Line Interface 使用者指南》中的安裝 AWS 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 } ] }
使用 重新標記映像 AWS Tools for Windows PowerShell
-
使用 Get-ECRImageBatch cmdlet 以取得映像的描述,來重新標記並將其寫入環境變數。在此範例中,具有標籤 的映像
latest
,在儲存庫中,amazonlinux
會寫入環境變數$Image
。注意
如果系統上沒有可用的 Get-ECRImageBatch cmdlet,請參閱《AWS Tools for Windows PowerShell 使用者指南》中的設定 AWS Tools for Windows PowerShell。
$Image = Get-ECRImageBatch -ImageId @{ imageTag="
latest
" } -RepositoryNameamazonlinux
-
將映像資訊清單寫入
$Manifest
環境變數。$Manifest = $Image.Images[0].ImageManifest
-
使用 Write-ECRImage cmdlet
-ImageTag
的選項,將映像資訊清單放入ECR具有新標籤的 Amazon。在此範例中,映像會標記為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