코드 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로 애플리케이션을 실행한다.
마지막으로 마이크로서비스의 루트 디렉터리에서 build와 run 도커 명령을 실행할 수 있다.
docker build . --tag licensing-service docker run -it -p8080:8080 licensing-service:latest