티스토리 뷰

SpringBoot

Spring Boot로 효율적인 Docker Image 만들기

배워서 남 주는 Jaime.Lee 2021. 6. 11. 17:10
728x90
반응형

Overview

스프링 부트를 이용하여 도커 이미지를 쉽게 만드는 방법을 소개합니다.

스프링 부트의 계층(layer)중 중복으로 포함되는 계층(라이브러리, 부트 로더 등)을 캐싱하여 효율적으로 도커 이미지를 생성합니다.

Spring Boot Version

2.3 이상

build.gradle

  • spring-boot-gradle-plugin dependency 추가
  • bootJar task에 layered 추가
    • layered()는 deprecated 되었음
    • layered(Action<LayeredSpec> action) 사용 권장
dependencies {
  implementation 'org.springframework.boot:spring-boot-gradle-plugin:2.5.0'
}

bootJar {
  layered()
}

Gradle

  • gradle bootBuildImage task 실행
> ./gradlew clean bootBuildImage

Docker

  • Docker Image 생성 확인
> docker images
REPOSITORY                           TAG                 IMAGE ID            CREATED             SIZE
spring-boot-docker-image             0.0.1-SNAPSHOT      89a7b3bab425        41 years ago        271MB
  • Docker Image 실행

Image ID로 실행

> docker run --rm -p 8080:8080 89a7b3bab425

Image 이름으로 실행

> docker run --rm -p 8080:8080 spring-boot-docker-image:0.0.1-SNAPSHOT
728x90
반응형
댓글
댓글쓰기 폼