-
You have reached your pull request limit DockerAWS 2022. 2. 27. 12:16728x90
현재 AWS 의 ECS 를 이용해 서비스를 제공 중이다.
AWS 의 codedeploy를 사용해 CI/CD를 구성하였는데 로그를 보니 다음과 같은 에러 발견
[Container] 2022/02/16 08:00:26 Running command docker build -t server . 977 Sending build context to Docker daemon 236.7MB 978 979 Step 1/4 : FROM openjdk:8-jre-alpine 980 8-jre-alpine: Pulling from library/openjdk 981 toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit 982 983 [Container] 2022/02/16 08:00:31 Command did not exit successfully docker build -t acaas_dev_auth . exit status 1 984 [Container] 2022/02/16 08:00:31 Phase complete: BUILD State: FAILED 985 [Container] 2022/02/16 08:00:31 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: docker build -t server .. Reason: exit status 1 986 [Container] 2022/02/16 08:00:31 Entering phase POST_BUILD 987 [Container] 2022/02/16 08:00:31 Running command docker tag server:latest 12341234.dkr.ecr.ap-northeast-2.amazonaws.com/acaas_dev_auth:latest 988 Error response from daemon: No such image: server:latest 989 990 [Container] 2022/02/16 08:00:31 Command did not exit successfully docker tag server:latest 12341234.dkr.ecr.ap-northeast-2.amazonaws.com/server:latest exit status 1 991 [Container] 2022/02/16 08:00:31 Phase complete: POST_BUILD State: FAILED 992 [Container] 2022/02/16 08:00:31 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: docker tag server:latest 12341234.dkr.ecr.ap-northeast-2.amazonaws.com/server:latest. Reason: exit status 1 993 [Container] 2022/02/16 08:00:31 Expanding base directory path: . 994 [Container] 2022/02/16 08:00:31 Assembling file list 995 [Container] 2022/02/16 08:00:31 Expanding . 996 [Container] 2022/02/16 08:00:31 Expanding file paths for base directory . 997 [Container] 2022/02/16 08:00:31 Assembling file list 998 [Container] 2022/02/16 08:00:31 Expanding **/* 999 [Container] 2022/02/16 08:00:31 Found 288 file(s) 1000 [Container] 2022/02/16 08:00:37 Phase complete: UPLOAD_ARTIFACTS State: SUCCEEDED 1001 [Container] 2022/02/16 08:00:37 Phase context status code: Message:
에러 내용을 보면 spring boot 웹서버 빌드를 위해 openjdk:8-jre-alpine 를 받아오는데 하루 pull request 허용량을 초과했다는 내용
도커 결제를 통해 해당 내용을 수정하기 보다 ECR에 openjdk 이미지를 올려 docker hub에서 이미지를 당겨오지 않고 ECR에서 당겨오도록 문제를 수정하기로 하였음
해당 내용을 처리 하지 않을 경우 프로덕션 환경에서 서버 배포가 실패 할 수 있기 때문에 수정해야 한다.
# ecr에 먼저 로그인해야한다. ecr aws 푸시 명령을 클릭하면 상세 가이드가 나옴 aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin 12341234.dkr.ecr.ap-northeast-2.amazonaws.com # jre alpine 이미지 도커 허브에서 받아온다. docker pull openjdk:8-jre-alpine # 태그 걸어주고 docker tag openjdk:8-jre-alpine 12341234.dkr.ecr.ap-northeast-2.amazonaws.com/openjdk:latest # ecr에 올린다. ecr에 올리려면 먼저 해당 ec2가 ecr 권한이 있어야 한다. 이 권한은 IAM 에서 주도록 한다 # 아니면 APIKey등을 발급해서 로그인해야 한다. 나의 경우 ecs(aws ec2)에서 IAM 권한을 주는 방식으로 해결 # 도커 이미지 올린다. docker push 12341234.dkr.ecr.ap-northeast-2.amazonaws.com/openjdk:latest
나의 경우 ecs 서비스가 돌아가고 있는 ec2에서 ecr에 위 스크립트로 openjdk를 push 하였다.
또한 spring boot의 dockerfile도 다음과 같이 ecr에서 받아오도록 수정
# Start with a base image containing Java runtime FROM 12341234.dkr.ecr.ap-northeast-2.amazonaws.com/openjdk:latest # Add Author info # Make port 8080 available to the world outside this container EXPOSE 8080 # The application's jar file COPY target/*.jar server.jar # Run the jar file ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/server.jar"]
728x90'AWS' 카테고리의 다른 글
aws ecs s3 access denied (0) 2022.02.27 Bastion -> ec2 (0) 2021.01.23