상세 컨텐츠

본문 제목

[AWS ECR] Dockerfile에서 Public AWS ECR 사용하기

프로그래밍/Server

by 웰치스짱 2023. 3. 8. 11:44

본문

반응형

보통 Dockerfile을 설정하다보면 nodejs나 openjdk같은 파일을 자연스럽게 다운을 받게 되는데 그러다가 로그를 보면 아래와 같은 메시지를 볼 수 있다.

 

FROM amazoncorretto:17 AS builder

COPY gradlew .
COPY settings.gradle.kts .
COPY build.gradle.kts .
COPY gradle gradle
COPY src src
RUN chmod +x ./gradlew
RUN ./gradlew bootJar

 

Docker rate limit warning
11:20:01   This build pulls images from Docker Hub without authentication, which might cause reaching the download rate limit.
  Consider configuring an authorized connection to Docker Hub or pulling from a Docker Hub mirror instead. Read more: https://docs.docker.com/docker-hub/download-rate-limit/
11:20:01   Related images:
11:20:01    - library/amazoncorretto:17

 

즉 도커허브에서 다운받을 수 있는 횟수가 정해져 있으니 주의하라는 것인데 로그인 없이 100회, 무료회원 200회 정도로 계산되어서 제한이 걸려있다.

 

그래서 혹시 제한을 우회할 수 있게 해당 이미지를 도커허브가 아닌 다른곳에서 받으면 됩니다.

그래서 아래와 같이 Dockerfile을 고칩니다.

 

FROM <ECR_PUBLIC_IMAGE_URI>:<TAG>

 

앞에는 public 레포지토리를 선언하고 태그를 붙여 이미지를 가지고 옵니다. 따라서 실제 Dockerfile은 아래와 같습니다.

 

FROM public.ecr.aws/docker/library/openjdk:17-jdk AS builder

COPY gradlew .
COPY settings.gradle.kts .
COPY build.gradle.kts .
COPY gradle gradle
COPY src src
RUN chmod +x ./gradlew
RUN ./gradlew bootJar
반응형

관련글 더보기

댓글 영역