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

adzubla

Eduardo Issao Ito

Posted on April 12, 2023

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
💖 💪 🙅 🚩
adzubla
Eduardo Issao Ito

Posted on April 12, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Custom Root CA in spring-boot:build-image
springbootmavenplugin Custom Root CA in spring-boot:build-image

April 12, 2023

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

April 12, 2023