Amazon ECR에서 이미지 태그 다시 지정 - Amazon ECR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon ECR에서 이미지 태그 다시 지정

Docker Image Manifest V2 Schema 2 이미지를 사용하면 put-image 명령의 --image-tag 옵션을 사용하여 기존 이미지에 태그를 다시 지정할 수 있습니다. Docker를 사용하여 이미지를 가져오거나 푸시하지 않고도 태그를 다시 지정할 수 있습니다. 크기가 큰 이미지의 경우 이렇게 하면 이미지에 태그를 다시 지정하는 데 드는 시간과 네트워크 대역폭을 크게 절약할 수 있습니다.

AWS CLI을 사용하여 이미지에 태그를 다시 지정하려면
  1. batch-get-image 명령을 사용하여 태그를 다시 지정할 이미지에 대한 이미지 매니페스트를 가져와 파일에 작성합니다. 이 예제에서는 리포지토리에서 최신 태그가 있는 이미지의 매니페스트, amazonlinuxMANIFEST라는 이름의 환경 변수에 작성됩니다.

    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로 태그 지정되어 있습니다.

    참고

    AWS CLI의 해당 버전에서 --image-tag 옵션을 사용할 수 없으면 최신 버전으로 업그레이드하세요. 자세한 내용은 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-ECRImageBatch cmdlet을 사용하여 태그를 다시 지정할 이미지의 설명을 가져온 다음 이를 환경 변수에 씁니다. 이 예제에서는 리포지토리에서 최신 태그가 있는 이미지, amazonlinux가 환경 변수 $Image에 쓰여집니다.

    참고

    시스템에서 Get-ECRImageBatch cmdlet을 사용할 수 없는 경우, AWS Tools for Windows PowerShell사용 설명서AWS Tools for Windows PowerShell 설정을 참조합니다.

    $Image = Get-ECRImageBatch -ImageId @{ imageTag="latest" } -RepositoryName amazonlinux
  2. 이미지의 매니페스트를 $Manifest 환경 변수에 씁니다.

    $Manifest = $Image.Images[0].ImageManifest
  3. Write-ECRImage cmdlet의 -ImageTag 옵션을 사용하여 이미지 매니페스트를 새로운 태그와 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