All that I've dreamed of

[Docker] toomanyrequests pull rate limit 해결 / 아마존 ECR 이미지 사용하기 본문

ETC

[Docker] toomanyrequests pull rate limit 해결 / 아마존 ECR 이미지 사용하기

_베토디 2023. 11. 9. 14:37
반응형

 

 

docker 이미지를 빌드할 때 보통 도커에서 제공하는 공식 이미지를 사용하지요...

저는 AWS 코드빌드로 github에 push를 하면 자동으로 docker 이미지를 빌드하고

ECR에 푸시하고... ECS 컨테이너로 배포하는 코드파이프라인 방식으로 배포를 하고 있는데요

빌드과정에서 실패가 났다 하면 꼭 위에 처럼 pull rate limit 이 문제더라고요

원인을 찾아보면 이미지 쓰는 게 시간별 pull 할 수 있는 이미지 횟수를 넘겨서 그런 거라는데..

음..? 저는 몇 십 번씩 배포를 하지도 않았는데요?

이유는 알 수 없지만 당장 배포는 해야 하니 해결을 해야겠죠?

꼭 바쁘고 급할 때 저러더라고요...^^

 

 

1. 도커 과금을 한다

일단 과금으로 해결하는 건 최후의 방법이니 패스...

 

2. AWS에서 제공하는 이미지를 사용한다

모야모야 진작에 사용할걸💕

 

 

Amazon ECR Public Gallery에 가면 도커공홈처럼

내가 사용하고 싶은 이미지를 검색해서 가져다 쓸 수 있어요

 

 

 

 

👇🏻 아마존 퍼블릭 갤러리

 

https://gallery.ecr.aws/

 

ECR Public Gallery

Amazon ECR Public Gallery is a website that allows anyone to browse and search for public container images, view developer-provided details, and see pull commands

gallery.ecr.aws

 

 

 

 

 

먼저 nginx를 검색하고 맨 위에 있는 nginx/nginx를 클릭!

 

 

 

셀렉트박스를 누르면 버전을 선택할 수 있어요.

저는 latest 버전을 선택했고 옆에 copy 만 누르면 끝!

그리고 nginx의 도커파일에 와서 아래와 같이

FROM에 우리가 복사해 온 ECR 이미지를 넣어주기만 하면 돼요.

밑에 주석처리 해놓은 ningx:1.21.4 가 이제까지 쓰던 도커공식이미지예요.

ECR 이미지를 pull 해서 자신의 ECR 레포지토리로 푸시한 다음에 그걸 사용해도 되지만

일단 저는 이게 잘 되는지부터 보려고 그대로 붙여 넣기 해봤는데 잘 되길래 그냥 쓰는 중입니다...;

 

 

 

 

django의 도커파일도 마찬가지로 ECR 이미지로 교체해 줬어요.

검색해 보니 django 이미지는 없는 것 같고

파이썬 이미지를 사용했어요!

ubuntu 도 있으니 ubuntu를 사용하실 분은 검색해서 사용하시면 될 거예요.

 

 

 

 

그러고 나서 코드빌드의 빌드로그를 보면...

 

....
Status: Downloaded newer image for public.ecr.aws/nginx/nginx:latest
...
Status: Downloaded newer image for public.ecr.aws/docker/library/python:3.9
...
 
 

 

아주 잘 설치되는 걸 볼 수 있네요 😀

배포도 문제없이 잘 진행되었답니다 ><

 

Comments