본문 바로가기
카테고리 없음

[AWS] EC2에서 docker hub에 올라간 image ECR에 올리기

by 오늘 하루s 2024. 9. 4.
728x90

ECR 리포지토리 생성하기

 

 

 

 

EC2에서 ECR 인증을 위해 IAM 사용자 생성하기

IAM 사용자가 없다면 사용자를 생성해준다.

 

권한 정책에 AmazonEC2ContainerRegistryPowerUser 이 권한을 추가해준다.

 

권한이 추가 되었다.

 

 

IAM 사용자에 Access key 생성하기

 

 

 

accesskey 와 secret access key는 추후에 다시 볼 수 없으니 기록해두거나 .csv파일로 저장해둔다.

 

 

ec2 인스턴스에서 ECR 로그인

mkdir -p ~/.aws
nano ~/.aws/credentials

 

터미널에서 ~/.aws/credentials 파일을 열어 편집한다.

 

[default]
aws_access_key_id = YOUR_ACCESS_KEY_ID
aws_secret_access_key = YOUR_SECRET_ACCESS_KEY

 

위에서 생성한 accesskey와 secret accesskey를 넣어 파일을 생성한다.

파일을 저장하려면 Ctrl + O, 파일명을 확인하고 Enter, 그리고 Ctrl + X를 눌러 편집기를 종료해주면 된다.

 

 

Docker hub 이미지 ECR 올리기

ec2에서 docker hub에 접속해준다.

docker login

 

 

로그인 완료 후  이미지를 Pull해준다.

docker pull <username>/<repository>

 

 

ecr 리포지토리를 선택하고 푸시 명령 보기를 선택해준다.

 

첫번째 명령어를 입력해준다.

aws ecr get-login-password --region <리전> | docker login --username AWS --password-stdin <어카운트_아이디>.dkr.ecr.<리전>.amazonaws.com

 

도커 허브에 이미지 빌드가 되어있어 다음 명령을 통해 태그를 지정해 ecr 리포지토리에 푸시할 수 있다.

docker tag test:latest <어카운트아이디>.dkr.ecr.ap-northeast-2.amazonaws.com/<리포지토리이름>:latest

 

다음 명령을 통해 이 이미지를 새로 생성한 AWS 리포지토리로 푸시한다.

docker push <어카운트아이디>.dkr.ecr.ap-northeast-2.amazonaws.com/<리포지토리이름>:latest

 

ECR에 이미지가 잘 올라간 것을 확인 할 수 있다.

 

728x90