IT/Public Cloud

EC2에서 Docker 이미지 ECR private 에 push 하기

엘티엘 2022. 2. 26. 14:28

본 글은 링크를 기본으로 설명하되, 일부 에러가 발생한 부분은 수정하였다.


EC2 의 docker 이미지를 ECR private repository 에 push 해보자. 이를 위해서는 아래와 같은 단계를 수행해야 한다.

  1. 사전준비
    1. ECR private repository 생성
    2. EC2내 Docker 설치
    3. EC2에 ECR 접근권한 부여
  2. Docker 클라이언트 인증
  3. 이미지 push

1. 사전준비

1-1) ECR private repository 생성

콘솔에서 손쉽게 생성이 가능하다. 링크를 참고한다

1-2) EC2내 Docker 설치

아래 명령어를 사용해서 EC2내 docker를 설치한다.

sudo yum -y update
sudo yum -y install docker docker-registry

1-3) EC2에 ECR 접근권한 부여

IAM 에서 ECR에 접근할 수 있는 Role을 생성하고 EC2에 해당 Role을 부여해야 한다.

  1. Role 생성: IAM -> Roles -> Create Role -> AWS Service & EC2 선택 -> "AmazonEC2ContainerRegistryFullAccess" 선택 -> Role Name 입력 및 생성
  2. EC2에 Role 부여: EC2 선택 -> Actions -> Security -> Modify IAM Role -> 생성한 Role 선택 및 저장

2. Docker 클라이언트 인증

ECR 에 접근하기 위해 EC2의 Docker 클라이언트를 인증해야 한다. 참고로 인증정보는 12시간만 유지된다.

aws ecr get-login-password --region [REGION] | docker login --username AWS --password-stdin [ACCOUNT_ID].dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com

REGION과 ACCOUNT_ID를 알맞게 입력하고 실행한다. 마지막에 Login Succeded를 확인하자.

3. 이미지 push

링크의 3~6번 내용을 참고한다.

반응형