Amazon Elastic Container Registry Public (ECR Public) 사용해보기
개요
Amazon Elastic Container Registry(Amazon ECR)는 안전하고 확장 가능하고 신뢰할 수 있는 AWS 관리형 컨테이너 이미지 레지스트리 서비스 입니다.
Amazon ECR은 AWS IAM을 사용하여 리소스 기반 권한이 있는 퍼블릭/프라이빗 이미지 리포지토리를 지원 합니다.
따라서 AWS 제공하는 ECS, EKS등에서 ECR을 쉽게 엑세스 할 수 있습니다.
요금
https://aws.amazon.com/ko/ecr/pricing/
- Docker Hub와 환경 및 비용등 고려 필요
- https://www.docker.com/pricing/
Service Quotas
https://us-west-1.console.aws.amazon.com/servicequotas/home/services/ecr/quotas
Amazon ECR Public Gallery
Amazon ECR 공개 갤러리는 Amazon ECR 공개 리포지토리에서 호스팅되는 컨테이너 이미지를 찾고 공유할 수 있는 공개 웹 사이트입니다.
사용자 추가
자격 증명 설정
- AWS CLI 설치
- https://docs.aws.amazon.com/ko_kr/cli/v1/userguide/cli-chap-install.html
- 운영 환경에 맞는 지침 참고
퍼블릭 리포지토리 생성
Push
ecr-public endpoints
- AWS CLI 또는 AWS SDK 사용할 때 권장
제공되는 명령어를 참고하여 진행한 예제.
-
인증 토큰을 검색하고 레지스트리에 대해 Docker 클라이언트를 인증
root@hostway-bmt:~# aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/n3n4q5v6 WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded
-
이미지에 태그를 지정
root@hostway-bmt:~# docker tag grafana:8.0.4 public.ecr.aws/n3n4q5v6/ecr-bmt-hostway:8.0.4 root@hostway-bmt:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE grafana 8.0.4 4a61138b1602 2 weeks ago 206MB public.ecr.aws/n3n4q5v6/ecr-bmt-hostway 8.0.4 4a61138b1602 2 weeks ago 206MB
-
AWS 리포지토리로 푸시
root@hostway-bmt:~# docker push public.ecr.aws/n3n4q5v6/ecr-bmt-hostway:8.0.4 The push refers to repository [public.ecr.aws/n3n4q5v6/ecr-bmt-hostway] 53fb6eb29c9d: Pushed 1fc7a3b8385e: Pushed 271c2e7e76f9: Pushed 5f70bf18a086: Pushed 9f9cedf089aa: Pushing [============================> ] 103.6MB/182.1MB 3c960bff45aa: Pushed efd53ffe2857: Pushing [==================================================>] 5.707MB 30a972c8cd3c: Pushed b2d5eeeaba3a: Pushing [==================================================>] 5.88MB 8.0.4: digest: sha256:fa1f0fef19321a5p1apcee215febe02ad3fb1a992a4d5e369b7f651b3epeb13f size: 2199
pull
root@hostway-bmt:~# docker pull public.ecr.aws/n3n4q5v6/ecr-bmt-hostway:8.0.4
8.0.4: Pulling from n3n4q5v6/ecr-bmt-hostway
Digest: sha256:fa1f0fef19321a5p1apcee215febe02ad3fb1a992a4d5e369b7f651b3epeb13f
Status: Downloaded newer image for public.ecr.aws/n3n4q5v6/ecr-bmt-hostway:8.0.4
public.ecr.aws/n3n4q5v6/ecr-bmt-hostway:8.0.4