티스토리 뷰

AWS

ECR에 도커 이미지 푸시하기

나를찾는아이 2024. 12. 16. 12:38
728x90
반응형

AWS의 컨테이너 레지스트리에 도커 이미지를 푸시해보겠습니다

 

ECR에 푸시한 도커 이미지는 다양한 곳에서 사용될수 있습니다

 

 

 

 

이미지의 레포지토리 이름을 지정합니다 namespace/repo-name과 같은 형식입니다

 

 

 

 

 

생성을 하게 되면 이미지 레포지토리가 생성됩니다

 

 

 

 

 

 

 

레포지토리만 생성된 상태고 아직 업로드가 되지 않은 상태입니다

 

 

 

 

 

 

상세하게 명령어가 설명되어있습니다

 

 

1. 먼저 인증 토큰을 받는 과정입니다 aws-cli가 설치되어있어야 하고, 인증정보도 미리 설정해두셔야 합니다

 

ecr에 이미지를 푸시하기 위한 아래의 IAM 정책을 사용하셔도 됩니다

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:CompleteLayerUpload",
                "ecr:UploadLayerPart",
                "ecr:InitiateLayerUpload",
                "ecr:BatchCheckLayerAvailability",
                "ecr:PutImage",
                "ecr:BatchGetImage"
            ],
            "Resource": "arn:aws:ecr:ap-northeast-2:xxxxxxxxx:repository/hello/world"
        },
        {
            "Effect": "Allow",
            "Action": "ecr:GetAuthorizationToken",
            "Resource": "*"
        }
    ]
}

 

 

aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin xxxxxxxxxxx.dkr.ecr.ap-northeast-2.amazonaws.com
# Login Succeeded

 


Login Succeeded 라는 메시지와 함께 인증 토큰이 내부에 저장되었습니다

 

이제 ecr로 이미지를 푸시할 준비가 되었습니다

 

 

2. 도커 이미지를 빌드합니다

 

docker build -t hello/world .


레포지토리 이름과 동일한 이름으로 이미지를 빌드합니다

 

 

3. 이미지에 태그를 지정합니다

docker tag myname/hello:latest xxxxxxxxxx.dkr.ecr.ap-northeast-2.amazonaws.com/hello/world:latest

 

 

 

4. 이미지를 aws로 푸시합니다

docker push xxxxxxxxx.dkr.ecr.ap-northeast-2.amazonaws.com/hello/world:latest

 

 

 

 

 

푸시가 완료되면 ECR에 이미지 정보가 표시됩니다 

 

 

이렇게 푸시한 이미지는 ecs, codebuilde, batch 등 무궁무진하게 활용될 수 있습니다

 

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함