Add docker-images: one Spring Boot 4 service packaged nine ways
Companion code for "Dockerizing Spring Boot 4: Layered Jars, Buildpacks, Distroless and Image Size Benchmarks". Fat jar on JDK and JRE, layered jar on Debian, Alpine and distroless, jlink, the JDK 25 AOT cache, Paketo buildpacks and Jib, each measured for size on disk and pushed, rebuild delta, startup, user and shell. Also PID 1 and signal handling, the jdeps module gap, AOT cache mismatches and buildpacks memory calculation. Transcripts in docs/output/, regenerated by scripts/run-all.sh. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01C3TETMrqVUWeFkNtz3Jbo3
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# jlink modules chosen by jdeps alone:
|
||||
java.base java.compiler java.datatransfer java.desktop java.instrument java.logging java.management java.naming java.net.http java.prefs java.scripting java.security.jgss java.security.sasl java.sql java.transaction.xa java.xml jdk.jfr jdk.unsupported
|
||||
|
||||
# WARN lines at startup of the jdeps-only image:
|
||||
i.m.c.i.binder.jvm.JvmGcMetrics : GC notifications will not be available because com.sun.management.GarbageCollectionNotificationInfo is not present
|
||||
i.m.c.i.binder.jvm.JvmGcMetrics : GC notifications will not be available because no GarbageCollectorMXBean of the JVM provides any. GCs=[G1 Young Generation, G1 Concurrent GC, G1 Old Generation]
|
||||
|
||||
# Metric names: full JRE 61, jdeps-only 46, jdeps + jdk.management 58
|
||||
# Present with the full JRE, missing from the jdeps-only image:
|
||||
jvm_gc_concurrent_phase_time_seconds_count
|
||||
jvm_gc_concurrent_phase_time_seconds_max
|
||||
jvm_gc_concurrent_phase_time_seconds_sum
|
||||
jvm_gc_live_data_size_bytes
|
||||
jvm_gc_max_data_size_bytes
|
||||
jvm_gc_memory_allocated_bytes_total
|
||||
jvm_gc_memory_promoted_bytes_total
|
||||
jvm_gc_pause_seconds_count
|
||||
jvm_gc_pause_seconds_max
|
||||
jvm_gc_pause_seconds_sum
|
||||
process_cpu_time_ns_total
|
||||
process_cpu_usage
|
||||
process_files_max_files
|
||||
process_files_open_files
|
||||
system_cpu_usage
|
||||
# Missing from jdeps + jdk.management: 3
|
||||
jvm_gc_concurrent_phase_time_seconds_count
|
||||
jvm_gc_concurrent_phase_time_seconds_max
|
||||
jvm_gc_concurrent_phase_time_seconds_sum
|
||||
# (jvm_gc_concurrent_phase_time_* is registered lazily, after the first G1 concurrent cycle -
|
||||
# whether it appears within a few seconds of startup varies run to run, in either image.)
|
||||
Reference in New Issue
Block a user