DEV Community

Eduardo Issao Ito
Eduardo Issao Ito

Posted on

Changing the base Linux image in spring-boot:build-image

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, even sh 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>
Enter fullscreen mode Exit fullscreen mode

Top comments (1)

Collapse
 
wldomiciano profile image
Wellington Domiciano

Awesome! Thanks for the tip