在 Amazon ECR 中重新標記映像 - Amazon ECR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Amazon ECR 中重新標記映像

透過 Docker 映像資訊清單 V2 結構描述 2 映像,您可以使用 --image-tag 命令的 put-image 選項以重新標記現有映像。您可以使用 Docker 來重新標記,而不需提取和推送映像。針對較大的映像,此程序節省了重新標記映像所需的大量網路頻寬與時間。

使用 重新標記映像 AWS CLI
  1. 使用 batch-get-image 命令以取得映像的映像資訊清單,來重新標記並將其寫入檔案。在此範例中,儲存庫 amazonlinux 中擁有 latest 標籤的映像資訊清單,被寫入名為 MANIFEST 的環境變數。

    MANIFEST=$(aws ecr batch-get-image --repository-name amazonlinux --image-ids imageTag=latest --output text --query 'images[].imageManifest')
  2. 使用 put-image 命令的 --image-tag 選項,以新標籤將映像工作資訊清單檔案放至 Amazon ECR。在此範例中,該映像被標記為 2017.03

    注意

    如果您的 版本無法使用 --image-tag選項 AWS CLI,請升級到最新版本。如需詳細資訊,請參閱《AWS Command Line Interface 使用者指南》中的安裝 AWS Command Line Interface

    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:8d00af8f076eb15a33019c2a3e7f1f655375681c4e5be157a26EXAMPLE",
                "imageTags": [
                    "latest",
                    "2017.03"
                ],
                "registryId": "aws_account_id",
                "repositoryName": "amazonlinux",
                "imagePushedAt": 1499287667.0
            }
        ]
    }
使用 重新標記映像 AWS Tools for Windows PowerShell
  1. 使用 Get-ECRImageBatchcmdlet取得映像的描述,以重新標記並寫入環境變數。在此範例中,儲存庫 amazonlinux 中擁有 latest 標籤的映像,被寫入環境變數 $Image

    注意

    如果您的系統沒有Get-ECRImageBatchcmdlet可用的 ,請參閱AWS Tools for PowerShell 《 使用者指南》中的設定 AWS Tools for Windows PowerShell

    $Image = Get-ECRImageBatch -ImageId @{ imageTag="latest" } -RepositoryName amazonlinux
  2. 將映像的資訊清單寫入 $Manifest 環境變數。

    $Manifest = $Image.Images[0].ImageManifest
  3. 使用 -ImageTag的選項,將映像資訊清單Write-ECRImagecmdlet放入具有新標籤的 Amazon ECR。在此範例中,該映像被標記為 2017.09

    Write-ECRImage -RepositoryName amazonlinux -ImageManifest $Manifest -ImageTag 2017.09
  4. 確認您的新映像標籤已連接至您的映像。在下方的輸出中,該映像有標籤 latest2017.09

    Get-ECRImage -RepositoryName amazonlinux

    其輸出如下:

    ImageDigest                                                             ImageTag
    -----------                                                             --------
    sha256:359b948ea8866817e94765822787cd482279eed0c17bc674a7707f4256d5d497 latest
    sha256:359b948ea8866817e94765822787cd482279eed0c17bc674a7707f4256d5d497 2017.09