티스토리 뷰
지난 글에 이어서 이번 글에서는 AWS 의 ECR (Elastic Container Registry) 서비스를 통해 이미지를 관리하는 방법에 대해 알아본다. 기본적으로 AWS 에 대한 계정 설정은 모두 완료되었다는 가정 하에 진행한다.
우선 Amazon Elastic Container Registy 에 접속한다. 로그인이 되었다면 아래 링크를 통해 접속이 가능할 것이다. 리전은 무관하나 가급적 서울 리전 (ap-northeast-2) 을 사용하는 것이 속도 면에서 효율적이다.
https://ap-northeast-2.console.aws.amazon.com/ecr/get-started?region=ap-northeast-2
왼쪽 메뉴에서 Repositories 메뉴를 선택하여 Repository 목록에 진입한다. 비공개 저장소를 만들기 위해 Private 탭에서 레포지토리 생성을 클릭한다.
아래와 같이 설정한 후 리포지토리를 생성한다.
아래에 더 많은 설정이 있지만 우선 테스트 단계이므로 이 정도만 설정한다. 정상적으로 설정되면 다음과 같이 레포리토리가 만들어진 것을 확인할 수 있다.
레포지토리를 선택하면 아래와 같이 비어 있는 것을 확인할 수 있다.
우측 상단의 [푸시 명령 보기] 를 클릭하면 해당 레포지토리에 어떻게 이미지를 푸시할 수 있는지 확인할 수 있다.
ECR 사용자 인증 과정이 도커 허브와는 조금 다르다. 도커 허브와는 다르게 aws-cli 를 이용하여 푸시할 수 있으니, 다음 명령어를 사용하여 aws-cli 사용 환경을 구축한다. 설치 도중 커맨드가 없다는 오류가 발생하면 sudo apt install 을 통해 해당 커맨드를 설치한다.
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
설치 이후 다음 명령어를 실행하면 aws-cli 의 버전을 확인할 수 있다. 버전은 사용 환경이나 시기에 따라 다를 수 있다.
aws --version
또한, 콘솔을 통해 AWS 환경에 접속해야 하기 때문에 AWS Access Key 와 Secret Access Key 또한 준비되어 있어야 한다.
aws-cli 가 정상적으로 설치되어 있다면, 다음 명령어를 실행한다.
aws sts get-caller-identity
이때, 계정 설정이 되어 있지 않다면 다음과 같은 오류가 발생한다.
오류 내용과 같이 다음 명령어를 입력하여 aws 계정을 설정해 준다.
aws configure
다음과 같이 Access Key ID, Secret Access Key, default region name 을 설정한다. Default output format 은 설정할 필요 없다.
설정 이후 다시 위 커맨드를 실행하면 아래와 같이 json 형태로 출력되는 것을 알 수 있다.
다음으로 AWS ECR 에서 제공한 푸시 명령에 있는 1번 항목을 복사하여 실행한다.
하단에 Login Succeeded 메시지를 확인할 수 있다.
이제 docker tag 명령어를 통해 ECR 에 올릴 이미지를 준비해야 한다. ECR에서 제공한 푸시 명령에 있는 3번 항목을 참고하여 다음과 같이 명령어를 실행한다.
docker tag wkdgus1164/sample-repository:v1.0.0 596122180862.dkr.ecr.ap-northeast-2.amazonaws.com/sample-repository:v1.0.0
그리고 docker images 명령어를 통해 images 를 조회하면 다음과 같이 이미지가 추가된 것을 확인할 수 있다.
이제 docker push 명령어를 이용하여 ECR 로 푸시를 진행한다.
'인프라 > Docker' 카테고리의 다른 글
도커허브 (DockerHub) 저장소 활용하기 [2022 ver.] (0) | 2022.02.14 |
---|---|
도커 이미지 압축 저장 및 불러오기 (0) | 2022.02.13 |
Dockerfile 문법 알아보기 (0) | 2022.02.12 |
도커 이미지 빌드 (0) | 2022.02.11 |
도커 컨테이너 로그 (0) | 2022.02.10 |
- Total
- Today
- Yesterday
- ecr
- entrypoint
- AWS
- Android
- docker
- DESIGN
- EC2
- cmd
- 자료형
- 자격증명
- 안드로이드
- dockerfile
- dockerhub
- Container
- 디자인
- 머티리얼
- main
- 테라폼
- 컨테이너
- env
- Terraform
- 도커
- 자바
- 스타트업
- Material
- Java
- uiux
- Operator
- HCL
- 메터리얼
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |