Schulung · Workshop · Coaching · Beratung

Docker für Java-Entwickler: Workshop zu Jib und Testcontainers

Docker für Java Entwickler: Images mit Jib, Buildpacks und Testcontainers

Dauer: ab 1 Tag (8 UE) | Preis: ab 900 EUR (netto) | Live online oder vor Ort | Termin nach Vereinbarung

Sie bauen schlanke Images für Spring Boot und Quarkus mit Layered JARs, Jib oder Buildpacks, stimmen die JVM auf Container-Grenzen ab und entwickeln lokal mit Compose und Testcontainers.

Gesamtpreis für bis zu 3 Teilnehmende · Unverbindliche Anfrage · Keine Vorkasse

Spring Boot und Quarkus im Container: schlanke Images mit gutem Build-Cache

Docker gibt Java-Entwickler:innen eine Laufzeitumgebung, die vom Laptop bis zur Pipeline dieselbe JDK-Version, dieselbe Konfiguration und dieselben Abhängigkeiten mitbringt. Der Weg dorthin ist für Java eigen: Ein Fat JAR in ein Image zu kopieren funktioniert, verschenkt aber Build-Cache und Startzeit. Sie lernen die Alternativen kennen – Layered JARs im Dockerfile, Jib ohne Docker-Daemon und Cloud Native Buildpacks über spring-boot:build-image – und entscheiden anhand von Bauzeit, Image-Größe und Wartbarkeit.

Der Ablauf folgt einem Java-Projekt von Maven bzw. Gradle bis zur lokalen Umgebung: Basis-Images wie Eclipse Temurin oder Distroless auswählen, Multi-Stage-Builds mit Cache für das lokale Maven-Repository, die JVM mit MaxRAMPercentage an Speichergrenzen anpassen und eine eigene Laufzeit mit jlink erzeugen. Mit Docker Compose starten Sie PostgreSQL, Kafka und Prometheus neben der Anwendung; Spring Boot und Quarkus übernehmen das Hochfahren der Dienste auf Wunsch selbst. Für Integrationstests kommt Testcontainers mit @ServiceConnection hinzu. Swarm behandeln wir als kompakten Ausblick, den Betrieb auf Kubernetes vertieft das Seminar „Kubernetes für Java Entwickler“.

Bei der Arbeit mit einem Agenten wie Junie in IntelliJ IDEA zeigt sich schnell, dass Dockerfiles für Java leicht plausibel aussehen und trotzdem den Cache zerstören oder die JVM als PID 1 ohne Signalbehandlung starten. Wir lassen den Agenten deshalb gegen messbare Kriterien arbeiten: Bauzeit, Schichtgröße, grüner mvn verify-Lauf mit Testcontainers und ein Lauf unter festem Speicherlimit. Basis-Image-Updates aus Agentenvorschlägen gehen durch Scan und Review.

Die Übungen laufen in Ihrer eigenen IDE mit Maven oder Gradle; wenn Ihr Team bereits ein Bestandsprojekt mit Dockerfile mitbringt, analysieren wir dessen Schichten und Startverhalten direkt am Beispiel.

Das häufigste Java-Dockerfile, das ich in Projekten sehe, kopiert ein 80-MB-Fat-JAR in ein vollständiges JDK-Image und startet es mit Standardeinstellungen. Jede Codeänderung lädt dann die komplette Schicht neu hoch, und die JVM rechnet mit dem Speicher des Hosts statt mit dem Limit des Containers. Zwei Stunden mit Layered JARs oder Jib und eine bewusst gesetzte MaxRAMPercentage sparen danach jeden Tag Minuten in der Pipeline – und nachts den einen oder anderen OOM-Kill.

Was Sie danach können

  • Sie bauen Images für Spring Boot und Quarkus wahlweise mit Dockerfile, Jib oder Buildpacks und begründen die Wahl
  • Sie nutzen Layered JARs und Build-Cache so, dass Codeänderungen nur kleine Schichten erneuern
  • Sie setzen JVM-Speicher und -Parameter passend zu Container-Grenzen
  • Sie starten Datenbank und Broker für die Java-Anwendung per Docker Compose und schreiben Integrationstests mit Testcontainers
  • Sie analysieren eine laufende JVM im Container mit jcmd, JFR und Micrometer-Metriken

Zielgruppe und Voraussetzungen

  • Java-Entwickler:innen, die Spring-Boot- oder Quarkus-Anwendungen containerisieren
  • Teams, die ihre lokale Entwicklungs- und Testumgebung auf Docker umstellen
  • Technische Leads, die Image-Build und Basis-Images für mehrere Java-Dienste vereinheitlichen
Themen und Inhalte für Ihre Beratung, Coaching, Workshop, Training, Schulung und Weiterbildung:

Docker für Java Entwickler: Images mit Jib, Buildpacks und Testcontainers

Docker für Java einordnen und einrichten
  • Container für Java-Dienste: gleiches JDK und gleiche Konfiguration lokal, in CI und im Betrieb
  • Arbeitsablauf: Maven- oder Gradle-Build, Image, Registry, Container
  • Docker Desktop unter Windows mit WSL 2 statt Docker Toolbox; Rancher Desktop und Podman als Alternativen
  • Docker Engine unter Linux, Docker Desktop auf dem Mac mit Apple Silicon
  • JDK-Basis-Images auswählen: Eclipse Temurin, Amazon Corretto, Red Hat UBI und Distroless Java
Container ausführen und das erste Java-Image
  • Docker CLI an einer Spring-Boot-Anwendung: run, ps, logs, exec und inspect
  • Port 8080 freigeben, SPRING_PROFILES_ACTIVE setzen, Konfiguration per Volume einbinden
  • Erstes Dockerfile: FROM, COPY und ENTRYPOINT für eine einfache Anwendung
  • Fat JAR aus target/ ins Image kopieren und mit java -jar starten
  • ENTRYPOINT in Exec-Form, damit die JVM SIGTERM erhält und sauber herunterfährt
  • Weitere Anweisungen: WORKDIR, USER, ARG, ENV, EXPOSE, HEALTHCHECK und LABEL
  • .dockerignore für target/, build/, .git und IDE-Dateien
Java-Images mit Maven und Gradle bauen
  • Multi-Stage-Build: Kompilieren im JDK-Image, Laufzeit im schlanken JRE-Image
  • BuildKit-Cache-Mounts für ~/.m2 und den Gradle-Cache, Abhängigkeiten vorab auflösen
  • Layered JARs von Spring Boot: Abhängigkeiten, Loader und Anwendungscode als eigene Schichten
  • Jib mit Maven- und Gradle-Plugin: reproduzierbare Images ohne Dockerfile und ohne Docker-Daemon
  • Cloud Native Buildpacks mit spring-boot:build-image bzw. bootBuildImage
  • Quarkus: Container-Image-Erweiterungen für Jib und Docker, Fast-JAR-Struktur im JVM-Modus
  • Native Images mit GraalVM für Quarkus und Spring Boot im Multi-Stage-Build
  • Eigene minimale Java-Laufzeit mit jdeps und jlink erzeugen
  • Multi-Plattform-Images für ARM und x86 mit docker buildx oder Jib-Plattformen
Die JVM im Container
  • Container-Erkennung der JVM über cgroups v2 und UseContainerSupport
  • Heap mit -XX:MaxRAMPercentage statt festem -Xmx, lokal mit docker run --memory prüfen
  • JAVA_TOOL_OPTIONS und JDK_JAVA_OPTIONS für JVM-Parameter ohne neues Image
  • Startzeit verkürzen: Class Data Sharing (AppCDS) und Spring AOT bereits beim Image-Build
Images taggen, prüfen und teilen
  • Tags aus Maven-Version und Git-SHA, kein latest für Bereitstellungen
  • Push nach Docker Hub, GitHub Container Registry, Harbor oder Nexus
  • Schwachstellenscan mit Docker Scout oder Trivy, SBOM mit dem CycloneDX-Maven-Plugin
Lokale Umgebung mit Docker Compose
  • Compose-Grundlagen: compose.yaml, Services, Netzwerke, Volumes und docker compose als Plugin
  • Spring-Boot-API mit PostgreSQL und Redis als Multi-Container-Anwendung
  • Spring Boot Docker Compose Support: compose.yaml startet beim Anwendungsstart mit
  • Quarkus Dev Services: Datenbank und Broker im Dev-Modus ohne eigene Compose-Datei
  • Projektname, compose.override.yaml und .env-Dateien je Entwickler:in
  • Mehrere Dateien mit -f und include, Profile für Debug- und Monitoring-Dienste
  • JDWP-Port im Compose-Service freigeben und den IntelliJ-Debugger anhängen
Daten und Zustand in Containern
  • Benannte Volumes oder Bind Mounts: wo die Daten der Entwicklungsdatenbank liegen
  • Schema per Flyway oder Liquibase beim Start der Anwendung migrieren
  • Volumes sichern und zurückspielen mit einem Hilfscontainer und tar
  • PostgreSQL mit Primär und Replik per Compose für Lese-Last- und Failover-Tests
  • Volume-Treiber und Plugins: local mit NFS-Optionen, Einsatz in Mehrknoten-Umgebungen
Integrationstests mit Testcontainers
  • Testcontainers mit JUnit 5: @Testcontainers, @Container und PostgreSQLContainer
  • @ServiceConnection in Spring Boot statt manueller @DynamicPropertySource
  • Module für Kafka, LocalStack und Keycloak; eigene Images als GenericContainer
  • Testcontainers zur Entwicklungszeit: Anwendung lokal mit Containern aus der Testkonfiguration starten
  • Testcontainers in GitHub Actions und mit Podman oder Rootless-Docker betreiben
Java-Container beobachten
  • docker stats, docker logs und docker events für den schnellen Überblick
  • JVM im Container analysieren: jcmd, Java Flight Recorder und Heap-Dump per docker cp
  • Micrometer und Actuator: /actuator/prometheus mit Prometheus und Grafana im Compose-Stack
  • cAdvisor für Metriken je Container neben den JVM-Metriken
Ausblick: Docker Swarm für Java-Dienste
  • Swarm-Modus der Docker Engine: Einsatz heute und Abgrenzung zu Kubernetes
  • Mehrknoten-Testcluster auf lokalen VMs oder auf AWS/Azure statt mit Docker Machine
  • Java-Dienst als Service mit Replikaten; Verhalten bei Ausfall von Container oder Knoten
  • Skalieren und Rolling Update mit docker service update, Rücksprung bei Fehlern
  • Compose-Stack ausrollen, Knoten mit drain warten, Constraints und globale Dienste
Java-Images mit Coding-Agenten
  • Dockerfile-Änderungen des Agenten an Bauzeit, Schichtgröße und Cache-Treffern messen, etwa mit dive
  • mvn verify mit Testcontainers als Abnahmekriterium, bevor der Agent eine Änderung als fertig meldet
  • Vorgeschlagene JVM-Flags unter festem Speicherlimit und Last nachprüfen statt übernehmen
  • Testcontainers für den Agenten über Rootless-Docker oder Podman statt über den Socket des Hosts
  • Neue Temurin- oder Distroless-Tags aus Agentenvorschlägen pinnen und vor dem Merge scannen
Praxisprojekt: Bestellservice mit Spring Boot, PostgreSQL und Kafka
  • Dasselbe Image per Layered-JAR-Dockerfile, Jib und Buildpacks bauen; Größe, Bauzeit und Start vergleichen
  • Lokale Umgebung mit PostgreSQL, Kafka, Prometheus und Grafana als Compose-Stack
  • Integrationstests mit Testcontainers und @ServiceConnection, Lauf in GitHub Actions
  • Speicherlimit 512 MB: JVM-Einstellungen abstimmen, bis der Dienst unter Last stabil läuft

*) Die Inhalte werden individuell abgestimmt und mit Praxisbeispielen abgerundet.

Ein Symbol für einen Kalender.

Offene Termine

Kostenlose Reservierung
Ein Symbol für Angebot erhalten.

Unser Angebot

Individuelle Schulung für Einzelpersonen und Teams – live online oder vor Ort.

Dauer

Ein Symbol für Dauer.
ab 1 Tag (8 UE)

Die Dauer richtet sich nach Ihren Inhalten.

Preis

Ein Symbol für Preis.
ab 900 EUR (Nettopreis)
ab 1.071 EUR (Bruttopreis)

Die Preise verstehen sich bei Unternehmern gemäß § 14 BGB zzgl. MwSt. Der dargestellte Ab-Preis gilt für firmeninterne Veranstaltungen und entspricht dem niedrigsten Gesamtpreis für Veranstaltungen mit bis zu drei (3) Teilnehmenden.

Termin

Ein Symbol für einen Kalender.
Ganztägig + halbtägig
nach Vereinbarung

Ganztägig oder halbtägig nach Vereinbarung, live online oder vor Ort.

Ihre Vorteile

Ein Symbol für ein Vorgespräch durchführen.
Persönliches Vorgespräch
Ein Symbol für die individuelle Vorbereitung.
Individuelle Vorbereitung
Ein Symbol für Experten aus der Praxis.
Experten aus der Praxis
Ein Symbol für ein Zertifikat.
Inklusive Zertifikat

Unsere Garantien

1. Relevanz-Garantie

Wir passen den Inhalt spezifisch an die Bedürfnisse jedes Teilnehmers an. Irrelevante Themen werden ausgespart, um den größtmöglichen Nutzen zu garantieren.

2. Qualitäts-Garantie

Durch regelmäßiges Feedback optimieren wir unsere Schulungen kontinuierlich und garantieren Ihnen ein Lernerlebnis der Extraklasse.

3. Zufriedenheits-Garantie

Unsere Zufriedenheitsgarantie spricht für sich – bei Unzufriedenheit entstehen Ihnen keine Kosten.

Wir helfen gerne weiter!

Rufen Sie uns an, schreiben eine E-Mail oder nutzen das Kontaktformular.

Schulung anfragen

Unverbindlich · Keine Vorkasse

Einige Unternehmen, für die wir tätig waren

WhereGroup GmbH & Co. KG

KDVZ Rhein-Erft-Ruhr

FIDUCIA IT AG

Teilnehmer

Feedback

Herr Hecker ist sehr gut auf individuelle Wünsche, Fragen und Anregungen eingegangen. Eine sehr informative, interessante und gelungene Veranstaltung.
Teilnehmer

Feedback

Herr Hecker hat das Thema sehr anschaulich dargestellt und ist auf alle Fragen eingegangen. Ich fühle mich jetzt gut vorbereitet, um durchzustarten.
Teilnehmer

Feedback

Die gelassene, professionelle Art hat mir gut gefallen. Kompetent, engagiert, professionell. Gute Beispiele, sympathisches Auftreten. Eigene Themenideen wurden aufgegriffen.
Unser Angebot für Ihre firmeninterne Beratung, Coaching, Workshop, Training und Weiterbildung

Lösungen für Ihren Bedarf an Coaching, Workshop, Training, Schulung und Weiterbildung

Profitieren Sie von unserer langjährigen Expertise in der beruflichen Weiterbildung, modernen Lernmethoden und einem Portfolio von über 600 IT-, Online- und Digital-Beratungsleistungen.
Selbstverständlich lassen sich die einzelnen Themen kombinieren. So erhalten Sie genau die Weiterbildung, die Sie wünschen und brauchen - als Coaching, Workshop, Training, Schulung und Weiterbildung!

✓
Ein Symbol für eine einzelne Person.

Für eine Person

Training & Coaching für Einzelpersonen

  • Passgenaue Inhalte auf den einzelnen Teilnehmer zugeschnitten
  • Ein sehr effektives Format, das schnell Ergebnisse bringt
  • Individuelles Training und Coaching motivieren und wirken
Jetzt anfragen
✓
Ein Symbol für eine Gruppe von Personen.

Für eine Gruppe

Training & Workshops für Teams und Abteilungen

  • Bedarfsgerechte Inhalte auf die Herausforderung der Praxis zugeschnitten
  • Konsequente Praxisorientierung, modernste Techniken und Tools
  • Neue Fähigkeiten und Kenntnisse nachhaltig in den Arbeitsalltag integrieren
Jetzt anfragen
✓
Ein Symbol für ein Unternehmen.

Für eine Firma

Training-Komplett-Lösungen für Ihr Unternehmen‍

  • Ganzheitliche Konzepte für Ihre Mitarbeiterentwicklung
  • Individueller Skill-Katalog zur Erweiterung Ihres internen Weiterbildungsangebots
  • Nachhaltige Personalentwicklung realisieren
Jetzt anfragen

So wird daraus Ihre Firmenschulung

1. Bedarf klären: Im kostenlosen Vorgespräch besprechen wir Ziele, Vorkenntnisse und Praxisaufgaben.

2. Angebot abstimmen: Inhalte, Format (live online oder vor Ort), Dauer und Preis legen wir gemeinsam fest.

3. Schulung durchführen: Sie arbeiten an Übungen aus Ihrem Alltag oder an einem neutralen Beispiel und nehmen konkrete nächste Schritte mit.

Häufige Fragen zur Schulung

Gilt der Ab-Preis pro Person oder für die Veranstaltung?

Die 900 EUR netto sind der niedrigste Gesamtpreis für eine firmeninterne Veranstaltung mit bis zu drei Teilnehmenden. Größere Gruppen und einen anderen Umfang bieten wir individuell an. Der verbindliche Preis steht in Ihrem Angebot.

Können wir eigene Aufgaben einbringen?

Ja. Welche Aufgaben sich eignen, welche Zugänge nötig sind und wie wir die Vertraulichkeit sichern, klären wir im Vorgespräch. Alternativ arbeiten wir an einem neutralen Beispiel.

Ist die Anfrage schon eine Buchung?

Nein. Sie erhalten zuerst ein abgestimmtes Angebot und entscheiden dann über die Beauftragung. Eine Vorkasse gibt es nicht.

Ihre unverbindliche und kostenlose Schulungsanfrage zum Thema

Docker für Java Entwickler - Beratung, Coaching, Workshop, Training, Schulung und Weiterbildung

Schildern Sie uns kurz Ihren Bedarf. Ziele, Inhalte und Termin stimmen wir persönlich mit Ihnen ab.

*) Die Angabe erfolgt freiwillig. Wir nutzen Ihre Telefonnummer ausschließlich, um Ihre Anfrage effizienter zu bearbeiten oder Rückfragen zu klären.

Ich interessiere mich für den Termin:

Termin anfragen

Das Angebot von "HECKER CONSULTING" richtet sich ausschließlich an Unternehmen und Behörden (iSv § 14 BGB). Verbraucher (§ 13 BGB) sind vom Vertragsschluss ausgeschlossen. Mit Absendung der Anfrage bestätigt der Anfragende, dass er nicht als Verbraucher, sondern in gewerblicher Tätigkeit handelt. § 312i Abs. 1 S. 1 Nr. 1-3 und S. 2 BGB (Pflichten im elektronischen Geschäftsverkehr) finden keine Anwendung.

Vielen Dank, Ihre Nachricht wurde empfangen!
Beim Absenden des Formulars ist etwas schiefgelaufen.
Beratung, Coaching, Workshop, Training, Schulung

Ähnliche Leistungen, die Sie interessieren könnten.

Wir erweitern ständig unser Beratungsportfolio. Über 600 IT-, Online-, Digital-Beratungsleistungen haben wir für Sie im Programm. Selbstverständlich lassen sich die einzelnen Themen kombinieren. So erhalten Sie genau die Beratung, die Sie wünschen und brauchen - als Coaching, Workshop, Training, Schulung und Weiterbildung!

Mehr IT-, Online-, Digital-Beratungsleistungen anzeigen >>
Nach oben