- Docker Grundlagen
- Überblick Virtualisierung
- DevOps Einführung
- Linux Basics
- Einführung Docker Prozessabschottung
- Linux Prozessmodell
- chroot
- Namespaces
- Linux Control Groups (cgroups)
- Docker Images
- Layering und Immutability
- Docker Repositories und Docker Hub
- Docker betreiben
- Docker Installation
- Docker Compose Installation
- Docker Images erstellen
- Überblick Build Prozess
- Parallelen zum üblichen Entwicklungsprozess
- Parallelen zu Git
- Infrastructure as Code
- Docker Files
- Grundlagen
- Anweisungen und Bezug zu Layering
- Vererbung und Standardimages
- Multi-Stage Builds
- Typische Anwendungsfälle und Beispiele
- Best Practices
- Docker Builds für eigene Entwicklung
- Docker Build in Maven Integrieren
- Eigene Artefakte in Docker Images bringen
- Best Practices und Beispiele
- Optimierung Image Größe
- Continuous Integration
- Eigenes Docker-Repository betreiben
- Docker Images in Docker Hub erstellen und bauen lassen
- Docker Images in Jenkins CI erstellen, versionieren und publizieren
- Docker Compose
- Grundlagen
- Compose Files erstellen
- Aufbau und Anweisungen
- Compose Builds
- Networks, Environment und Volumes
- Docker Container betreiben
- Docker Laufzeit betreiben
- Docker Container starten, stoppen und upgraden
- Docker Volumes
- Docker Compose betreiben
- Docker Container im Entwicklungsprozess
- Docker Container als wohldefiniertes Buildsystem
- Docker Container für Tests
- Sidecar Pattern
- Docker Container als reproduzierbare Test-Infrastruktur
- Testcontainers
- Docker Container als Laufzeitumgebung
- Anpassung Resourcenlimits
- Produktivbetrieb mit Docker Compose
- Einführung Docker als Basis für Continuous Delivery und Cloud
- Deployments
- CD mit Docker Compose
- Kubernetes Grundlagen
- Integrierte CD Umgebungen (Kubernetes + Fabric8 / Jenkins X)
LernzieleNach dieser Veranstaltung kennen Sie die Grundlagen von Docker, können Docker-Images erstellen und diese auch betreiben. Das Aufsetzen von Docker-Containern und die Integration in den Entwicklungsprozess und die Laufzeitumgebung inkl. Deployment werden Sie danach verstehen und anwenden können.
ZielgruppenSoftware-Entwickler, Programmierer aus dem Java, .NET, PHP, Python etc. -Umfeld die Docker für eigene Projekte verwenden wollen.