Dockerfiles, Jib ..., what's the best way to run your Java code in Containers?
summary
Compares concrete builds: classic Dockerfiles (simple and multi-stage Dockerfile), Google Jib, and Cloud‑Native Buildpacks (Paketo). Runs Maven/Gradle, uses jlink+jdeps to cut JRE from ~321MB down to ~63MB and splits jars so app layer shrinks to ~6KB in the demo, shows Paketo producing ~133MB images and a ~2GB builder, and shows Jib producing reproducible images without a Docker daemon. Measures build time, size, standardization, robustness, memory tuning and security and demonstrates building and pushing images successfully from the repo.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 3:32What is a container image
- 7:47Traditional Dockerfile approaches
- 9:32Multi-stage Docker builds
- 11:20BuildKit and advanced features
- 12:45Evaluating container images
- 15:37Optimizing Java images with jlink
- 18:29Dockerfile optimizations demo
- 23:10jlink-based Java image demo
- 27:26Evolution of container images
- 28:30Introduction to Jib
- 33:46Cloud Native Build Packs
- 36:20Cloud Native Build Packs demo
- 44:47Spring Boot integrations
- 45:28Summary
- 48:17Q&A
related talks
46mDockerfiles, Buildpacks, Jib and more, best way to run Java code in Containers?
49mJava Container Mastery: Optimizing Images Across Build Tools
51mJava applications containerized and deployed, make your buildpack edition
32mDockerfile vs Jib vs Pack vs Native Image: Which Is the Best Image Build Method?
43mBuilding containers without DockerFile
30mSpeedy build for your java application images with JIB!
01h 01mDistilling Java Containers for Kubernetes
25mCommit to Excellence - Java in Containers
