본문 바로가기
[AWS]/AWS 기타

[AWS] AWS ECR에 도커 이미지 PUSH

by METAVERSE STORY 2022. 8. 29.
반응형
728x170

 

 

이 글은 사전에 도커가 설치되어 있어야 진행할 수 있다. 도커 설치를 진행하기 위해서는 

Windows에 Docker 설치하기 (tistory.com)

를 먼저 진행하면 된다. 

 

1. ECR 생성하기

 

먼저 ECR 리포지토리를 생성할 것이다. 그러므로 ECR 페이지로 들어온 후 리포지토리 생성 시작하기를 클릭한다.

 

 

 

그 후 리포지토리에 대한 표시여부 설정을 선택한 후 리포지토리 이름을 지정하고 생성해 준다.

 

 

 

 

2. IAM 사용자 생성하기

AWS CLI 명령어를 사용할 예정이므로 액세스 키가 활성화 된 IAM 유저가 필요하다. 그러므로 사용자를 추가해야 한다. 

 

 

IAM으로 들어온 후 사용자 추가를 눌러준다. 

 

 

 

그 다음 사용자 이름을 작성한 후 CLI 명령어를 사용할 것이기 때문에 AWS 자격 증명 유형에 액세스 키를 등록시킨다. 

 

그 후 AmazonEC2ContainerRegistryFullAccess 정책을 연결한 후 IAM 사용자를 만들어 준다. 

 

 

 

 

 

3. CLI 설치 및 Docker 클라이언트 인증

 

최신 버전의 AWS CLI 설치 또는 업데이트 - AWS Command Line Interface (amazon.com)

 

위 링크에서 자신이 사용하는 OS에 맞게 CLI를 설치한다. 

 

그 후 aws configure 라는 명령어를 친다.

그 후 위에서 생성했던 IAM 사용자의 액세스키와 시크릿 액세스키를 입력한다.

그리고 자신의 계정이 존재하는 리전을 입력한 후 마지막 output format은 json을 선택해 준다. 

 

 

 

aws ecr get-login-password --region (자신의 계정이 존재하는 리전) | docker login --username AWS --password-stdin (내 aws account id).dkr.ecr.(내 계정이 존재하는 리전).amazonaws.com

이미지를 푸시하기 위해서는 ECR 리포지토리가 있어야하고 위처럼 리포지토리를 생성한 후에는

이미지를 푸시하려는 Amazon ECR 레지스트리에 대해 Docker 클라이언트 인증을 해야 한다. 인증 토큰은 사용되는 레지스트리마다 필요하며 12시간 동안 유효하다. 

AWS ECR 레지스트리에 대해 Docker를 인증하기 위해서는 위와 같은 명령어를 실행시켜야 한다. 

 

 

 

4. Docker 이미지 파일 ECR로 푸쉬하기

 

 

 

그 다음 분산버전관리 시스템을 이용해 git clone을 이용하거나 로컬에 있는 도커 이미지 파일을 ECR로 푸쉬하려고 한다.

 

 

 

우리가 생성한 ECR 리포지토리를 클릭하면 푸시 명령 보기라는 부분이 있다. 그 부분을 클릭하면 Docker 클라이언트 인증부터 도커 이미지 빌드 및 푸시에 관한 명령어들이 나온다. 

 

 

 

그 후 Dockerfile이 존재하는 폴더에서 위 명령어를 입력하면 도커 이미지 빌드가 완료된다.

docker build . -t (ECR 리포지토리 네임)

 

 

 

 

그 후 docker images라는 도커 이미지 나열 명령어를 쳐보니 방금 우리가 빌드한 이미지를 확인할 수 있다. 

그 다음 이제 빌드한 이미지를 ecr로 푸쉬해야 한다. 

 

 

 

ECR로 푸쉬하기 전 먼저 태그를 달아둔다. 

docker tag (이미지 레포지토리 이름):(태그) (내 aws account id).dkr.ecr.(내 계정이 존재하는 리전).amazonaws.com/(내 ecr 레포지토리):(태그)

 

그 후 푸쉬를 진행하는 명령어를 입력한다. 

docker push (내 account id).dkr.ecr.(내 계정이 존재하는 리전).amazonaws.com/(ecr레포지토리 이름):(태그)

 

 

 

푸쉬까지 마친 이후 docker images를 쳐보면 아까 생성했던 example과 함께 내 ecr 레포지토리가 뜨게 된다. 

 

 

 

마지막으로 아마존 콘솔로 돌아온 후 내가 생성했던 example 레포지토리를 확인해보면 이미지 태그에 latest라고 달려있는 이미지가 생성된 것을 볼 수 있다. 

 

 

출처

https://www.youtube.com/watch?v=D8ym8RP1yvo 

 

반응형
그리드형

댓글