Docker in der Praxis: Container in verschiedenen Umgebungen sicher bauen, verteilen und betreiben.
Hands-on Labs mit Images, Registries, Volumes und Networking.
Container mit Compose und Best Practices absichern, überwachen und orchestrieren.
Praktische Erfahrung sammeln durch ~70% Labs mit realistischen Docker-Workflows.
Nutzen: Docker effektiv in Entwicklung und Produktion einsetzen.
Für wen: gedacht für Personen mit Linux-Grundkenntnissen, die Container-Know-how wollen.
Beinhaltet ein End-to-End-Projekt mit realen Deployment-Szenarien.
Curriculum
Initiales Setup
- Docker-Editionen verstehen und Docker auf Windows/Linux installieren
- Einige einfache Container starten
Hauptbefehle
- Wesentliche Docker-CLI-Befehle
- Verschiedene Wege, einen Container zu starten
- Befehle zum Umgang mit Images und Containern
- Logging mit mehreren Docker-Containern
Einen Dockerfile bauen
- Ein Base Image erstellen und für abgeleitete Images wiederverwenden
- Images und deren Layer; Arbeiten mit Repositories
- Dockerfiles schreiben
- sshd, users, groups, permissions, shared folders konfigurieren
Docker internals
- Container vs VM
- Kernel namespaces (hands-on)
- CLI-Prozess-Monitoring
- Container-Lifecycle und persistenter Speicher: volumes, path expansion, bind mounts
Die Server und eine Beispielapplikation
- Eine Multi-Service-App aufbauen
- DNS-Server
- Zwei Web-Server
- Ein Load Balancer
- Ein DB-Server (Postgres)
- Optional: ein E-Mail-Server
Arbeiten mit Swarms
- Docker Compose und Swarm – Grundlagen
- Die wichtigsten compose-Befehle
- Integrierte Orchestrierung
- Skalierung mit Overlay Networking oder Routing Mesh
- Secrets in Swarm-Services verwenden
- Swarm Application Lifecycle
Kubernetes Essentials
- Einführung und Vergleich mit Swarm; warum Kubernetes?
- Kubernetes-Installation; minikube, microk8s
- kubectl run, create, apply
- Der erste Pod
- Einen NodePort und einen LoadBalancer erstellen
- Running, Exposing und die Nutzung von Generators
Optionale Module
Advanced topics (optional)
- Multi-stage builds, BuildKit cache mounts, and multi-arch builds with buildx
- Advanced networking: bridge/host/macvlan/ipvlan, overlay internals, routing mesh vs. ingress
- Security hardening: rootless Docker, user namespaces, seccomp/AppArmor/SELinux, capabilities
- Image governance: SBOMs (Syft), image scanning (Trivy/Grype), signing (cosign/Notary v2)
- Storage deep-dive: volumes vs. bind mounts vs. tmpfs, volume drivers, performance on macOS/Windows
- Observability: logging drivers (json-file, journald, syslog, fluentd), metrics (cAdvisor), eBPF tools
- Registries: private registry, Harbor, access control and retention policies
- CI/CD integration: GitHub Actions/GitLab CI caching, ephemeral test environments
- Kubernetes add-ons: Deployments/Services/Ingress, Helm basics, RBAC, Secrets/ConfigMaps best practices
- Swarm advanced: rolling updates, constraints/placement, node labels, secrets & configs
Kursablauf
- Part 1: 09:00–10:30
- Break: 10:30–10:45
- Part 2: 10:45–12:15
- Lunch break: 12:15–13:15
- Part 3: 13:15–15:15
- Break: 15:15–15:30
- Part 4: 15:30–17:30