티스토리 뷰

반응형

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
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2023/09   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함