본 글은 링크를 기본으로 설명하되, 일부 에러가 발생한 부분은 수정하였다.
EC2 의 docker 이미지를 ECR private repository 에 push 해보자. 이를 위해서는 아래와 같은 단계를 수행해야 한다.
- 사전준비
- ECR private repository 생성
- EC2내 Docker 설치
- EC2에 ECR 접근권한 부여
- Docker 클라이언트 인증
- 이미지 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을 부여해야 한다.
- Role 생성: IAM -> Roles -> Create Role -> AWS Service & EC2 선택 -> "AmazonEC2ContainerRegistryFullAccess" 선택 -> Role Name 입력 및 생성
- 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번 내용을 참고한다.
반응형
'IT > Public Cloud' 카테고리의 다른 글
AWS EC2 User Data 사용하기 (feat 로그, 내용확인) (0) | 2022.03.08 |
---|---|
AWS Elastic Load Balancer 에 대해서 (feat. NLB, ALB, CLB 차이점과 가격) (0) | 2022.03.08 |
EC2 인스턴스 타입 변경, EBS 볼륨 확장 및 축소 (0) | 2022.01.07 |
AWS RDS 에서 Slow Query 확인하기 (0) | 2022.01.05 |
AWS CodePipeline 자습서 따라하기 (0) | 2022.01.03 |