The spring-boot-maven-plugin can create an OCI image from a jar or war file using Cloud Native Buildpacks.
By default it uses a builder called paketobuildpacks/builder:base
which is based on Ubuntu 18.04 and is suitable for running a Spring Boot application.
But you can choose another builder, for example:
-
paketobuildpacks/builder:tiny
is a lot smaller because it has the minimum requirements to run you application, evensh
is absent (you can't open a terminal in this image) -
paketobuildpacks/builder:full
its the oposite of tiny, containing a lot of tools and commands. -
paketobuildpacks/builder-jammy-base
is based on Ubuntu 22.04
The list of all builders is available in Paketo Builders Reference.
It's just a matter of configuring the builder in pom.xml
:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<image>
<builder>paketobuildpacks/builder-jammy-tiny</builder>
</image>
</configuration>
</plugin>
Top comments (1)
Awesome! Thanks for the tip