더북(TheBook)

코드 4-6 레이어로 나뉜 JAR를 위한 Dockerfile 만들기

FROM openjdk:11-slim as build
WORKDIR application
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} application.jar
RUN java -Djarmode=layertools -jar application.jar extract 

FROM openjdk:11-slim
WORKDIR application
COPY --from=build application/dependencies/ ./ 
COPY --from=build application/spring-boot-loader/ ./ 
COPY --from=build application/snapshot-dependencies/ ./
COPY --from=build application/application/ ./ 
ENTRYPOINT ["java","org.springframework.boot.loader.JarLauncher"] 

➊ jarmode 명령의 결과로 출력된 각 레이어를 복사한다.

➋ org.springframework.boot.loader.JarLauncher로 애플리케이션을 실행한다.

마지막으로 마이크로서비스의 루트 디렉터리에서 buildrun 도커 명령을 실행할 수 있다.

docker build . --tag licensing-service
docker run -it -p8080:8080 licensing-service:latest
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.