Java und Docker: Containerisierung von Anwendungen
Java und Docker: Containerisierung von Anwendungen
Zusammenfassung:
Das Buch "Java und Docker: Containerisierung von Anwendungen" ist ein praktischer Leitfaden, der Java-Entwicklern hilft, moderne Ansätze zum Verpacken, Ausliefern und Ausführen von Anwendungen mit Docker zu erlernen. Sie erfahren, wie Sie eine gewöhnliche Java-Anwendung in einen leichten, portablen und skalierbaren Container verwandeln, der bereit ist, in jeder Umgebung zu laufen – vom lokalen Computer bis zum Cloud-Cluster.
Worum geht es in diesem Buch?
Das Buch deckt den gesamten Lebenszyklus der Arbeit mit Containern ab: von den grundlegenden Konzepten von Docker bis hin zu fortgeschrittenen Techniken der Orchestrierung und Automatisierung. Sie lernen:
- Effiziente Dockerfiles zu erstellen für Java-Projekte (Spring Boot, Jakarta EE, Micronaut u. a.) mit Optimierung der Image-Größe und Build-Zeit.
- Multi-Container-Anwendungen zu verwalten mit Docker Compose: Verknüpfung von Datenbanken, Message Queues und Diensten.
- CI/CD-Pipelines einzurichten für automatisches Bauen, Testen und Bereitstellen containerisierter Java-Anwendungen (GitHub Actions, Jenkins, GitLab CI).
- Mit Netzwerken und Volumes in Docker zu arbeiten: sichere Kommunikation zwischen Containern gewährleisten und Daten speichern.
- Microservice-Architekturmuster anzuwenden mit Docker und Java (Service Discovery, API Gateway, Circuit Breaker).
- Containerisierte Anwendungen zu überwachen und zu protokollieren (Prometheus, Grafana, ELK Stack).
Für wen ist dieses Buch?
Das Buch richtet sich an Java-Entwickler aller Erfahrungsstufen, die:
- Die Bereitstellung ihrer Projekte vereinfachen und das Problem "es funktioniert auf meinem Rechner" loswerden möchten.
- Containerisierung erlernen möchten, um auf eine Microservice-Architektur umzusteigen.
- Ihre Anwendungen für den Einsatz in Kubernetes oder Cloud-Plattformen (AWS, GCP, Azure) vorbereiten möchten.
- Die Effizienz von DevOps-Prozessen im Team steigern möchten.
Für die Lektüre reichen grundlegende Kenntnisse in Java (Maven/Gradle) und der Kommandozeile aus. Alle Codebeispiele stehen zum Download bereit und wurden mit aktuellen Versionen von Java 17+ und Docker 24+ getestet.
Was werden Sie lernen?
- Wie man ein Dockerfile für eine Spring Boot-Anwendung mit Multi-Stage-Build schreibt und das Image von 500 MB auf 100 MB reduziert.
- Wie man Docker Compose verwendet, um einen vollständigen Stack zu starten: PostgreSQL + Redis + Java-Backend + Nginx.
- Wie man Docker nahtlos in ein bestehendes Maven/Gradle-Projekt mit Hilfe von Plugins (Jib, Spotify docker-maven-plugin) integriert.
- Wie man containerisierte Anwendungen mit Testcontainers testet – ohne Mocks und Stubs.
- Wie man Health Checks, Graceful Shutdown und Ressourcenmanagement (CPU, Speicher) für Java-Container konfiguriert.
- Wie man Container absichert: Schwachstellenscans, minimale Berechtigungen, Secrets und Umgebungsvariablen.
Dieses Buch wird Ihr Nachschlagewerk für die Containerisierung von Java-Anwendungen. Sie lernen nicht nur die Theorie, sondern erhalten auch fertige Rezepte und Vorlagen, die Sie sofort in realen Projekten anwenden können. Machen Sie Ihre Java-Anwendungen wirklich modern und portabel!
Empfehlungen
DevOps für Rust-Entwickler: Vom Build bis zur Produktion
Refactoring von Kotlin-Code: Verbesserung von Architektur, Leistung und Lesbarkeit
Sicherheit von Kotlin-Anwendungen: Von den Grundlagen bis zu fortgeschrittenen Techniken
Go (Golang): Tipps und Best Practices
Entwurfsmuster in TypeScript
Hands-on Kotlin Coroutines for Android: Praktischer Leitfaden zu Kotlin Coroutines für Android