더북(TheBook)

예제 4-2 메이븐을 사용해 자바 애플리케이션을 빌드하는 Dockerfile 스크립트

FROM diamol/maven AS builder

WORKDIR /usr/src/iotd
COPY pom.xml .
RUN mvn -B dependency:go-offline

COPY . .
RUN mvn package

# app
FROM diamol/openjdk

WORKDIR /app
COPY --from=builder /usr/src/iotd/target/iotd-service-0.1.0.jar .

EXPOSE 80
ENTRYPOINT ["java", "-jar", "/app/iotd-service-0.1.0.jar"]

거의 모든 인스트럭션(instruction)은 이미 본 적이 있는 인스트럭션이다. 그리고 스크립트에 사용된 패턴 역시 앞서 살펴본 예제에서 직접 작성해 본 적이 있다. FROM 인스트럭션이 여러 개 있는 것으로 보아 멀티 스테이지 빌드가 적용된 스크립트다. 그리고 도커의 레이어 캐시를 최대한 활용할 수 있도록 인스트럭션이 배치됐다는 것도 알 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.