Docker Image Size & Performance Comparison
Generated 2026-08-15 00:23 UTC · images built and measured from Build Docker Images
Image Size & Package Comparison
APP SIZE / APP+RUNTIME SIZE = overhead over the runtime base image. Packages = installed OS packages inside the image. Rows are highlighted when the image size is under 100 MB.
| Image | Image Size | App Size | App+Runtime Size | Packages |
|---|---|---|---|---|
| eclipse-temurin:25-jdk | 438MB | – | – | 115 |
| eclipse-temurin:25-jdk-alpine | 303MB | – | – | – |
| eclipse-temurin:25-jre | 360MB | – | – | 106 |
| azul/zulu-openjdk:25-jdk-crac | 528MB | – | – | 103 |
| azul/zulu-openjdk-alpine:25-latest | 373MB | – | – | – |
| amazoncorretto:25-jdk | 532MB | – | – | 144 |
| amazoncorretto:25-alpine-jdk | 371MB | – | – | – |
| debian:13 | 120MB | – | – | 78 |
| debian:13-slim | 78.6MB | – | – | 78 |
| gcr.io/distroless/base-debian13 | 24.3MB | – | – | 9 |
| gcr.io/distroless/static-debian13 | 2.21MB | – | – | 5 |
| almalinux/10-base | 193MB | – | – | 147 |
| almalinux:10-minimal | 74.1MB | – | – | 84 |
| almalinux/10-micro | 18.7MB | – | – | – |
| ghcr.io/graalvm/native-image-community:25i2 | 1.15GB | – | – | 148 |
| hello-conference:jre-temurin | 384MB | +22.6 MB | – | 106 |
| hello-conference:jlink-full-distroless-base | 156MB | – | +126.0 MB | 9 |
| hello-conference:jlink-distroless-base | 116MB | – | +87.3 MB | 9 |
| hello-conference:jlink-netty-distroless-base | 131MB | – | +102.1 MB | 9 |
| hello-conference:jlink-cds-distroless-base | 160MB | – | +129.2 MB | 9 |
| hello-conference:crac-azul-distroless-base | 252MB | – | +217.6 MB | 9 |
| hello-conference:native-debian-slim | 148MB | – | +66.0 MB | 78 |
| hello-conference:native-minimal-distroless-static | 58.8MB | – | +54.0 MB | 5 |
| hello-conference:native-scratch | 56.6MB | – | +54.0 MB | – |
| hello-conference:native-netty-scratch | 89.2MB | – | +85.1 MB | – |
Startup & Memory Performance
STARTUP(log) = Spring Boot's own "Started in X seconds" measurement. STARTUP(wall) = wall-clock time from "docker run" to the first healthy HTTP response.
| Image | Memory | Warmup | Startup (log) | Startup (wall) |
|---|---|---|---|---|
| hello-conference:jre-temurin | 159.1MiB / 15.61GiB | OK | 1.498s | 2066 ms |
| hello-conference:jlink-full-distroless-base | 168.6MiB / 15.61GiB | OK | 1.557s | 2195 ms |
| hello-conference:jlink-distroless-base | 163.9MiB / 15.61GiB | OK | 1.524s | 2201 ms |
| hello-conference:jlink-netty-distroless-base | 154.3MiB / 15.61GiB | OK | 1.471s | 2155 ms |
| hello-conference:jlink-cds-distroless-base | 175.9MiB / 15.61GiB | OK | 1.099s | 1616 ms |
| hello-conference:crac-azul-distroless-base | 59.85MiB / 15.61GiB | OK | 0.098s | 201 ms |
| hello-conference:native-debian-slim | 21.8MiB / 15.61GiB | OK | 0.059s | 116 ms |
| hello-conference:native-minimal-distroless-static | 21.68MiB / 15.61GiB | OK | 0.048s | 118 ms |
| hello-conference:native-scratch | 21.37MiB / 15.61GiB | OK | 0.066s | 115 ms |
| hello-conference:native-netty-scratch | 16.59MiB / 15.61GiB | OK | 0.038s | 120 ms |