카테고리 없음

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

오늘 하루s 2024. 9. 4. 00:00
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