| Typ | Quelle |
|---|---|
| Rohdatei | sources/Docker (Slides).pdf (nur lokal, per .gitignore vom Repository ausgeschlossen) |
| Autor | Jannis Seemann |
| Datum_quelle | 2022-11-03 (PDF-Erstellungsdatum) |
| Format | PDF (Kursfolien), 331 Folien, mit Textebene |
| Erstellt | 2026-09-27 |
| Aktualisiert | 2026-09-27 |
| Tags | docker, container, devops, kubernetes, kurs |
Kursfolien „Docker Bootcamp“ von Jannis Seemann (PDF vom November 2022): vom Container-Gedanken über die Docker-Kommandozeile, Volumes und Netzwerke zu Dockerfiles und Docker Compose, dann Docker Swarm und ein Crashkurs Kubernetes, mit vielen Übungsaufgaben.
Lizenz
Das PDF ist kommerzielles Kursmaterial (die letzte Folie bittet um eine Bewertung des Kurses). Auf Entscheid des Nutzers vom 2026-09-27 liegt es wie der Angular-Kurs nur lokal in sources/ und ist per .gitignore vom Repository ausgeschlossen. Die Wiki-Seiten fassen in eigenen Worten zusammen, Befehle werden nur in kurzen Zeilen übernommen.
Einordnung der Quelle
- 331 Folien mit durchgehender Textebene. 120 Folien tragen nur einen Kapiteltitel (als Bild), es fehlt also kein Inhalt. Die Beispielprojekte (Flask-App, Express.js-App, Flask-Redis-nginx, Raspberry-Pi-Cluster) gehören zum Kurs, liegen aber nicht im PDF.
- Stand Ende 2022. Was sich seither geändert hat, steht in Quelle - Recherche - Docker heute 2026.
- Didaktisch: Leitfragen am Anfang jedes Abschnitts, viele Befehle zum Nachmachen, Aufgaben mit Lösungen.
Aufbau der Quelle
| Folien | Abschnitt | Eingeflossen in |
|---|---|---|
| 1–31 | Motivation, virtuelle Maschine vs. Container, Kernel, Docker-Architektur, Linux-Shell | Virtualisierung, Container, Docker |
| 32–77 | Client-Server-Architektur, Images, Tags, Layers, create/start/run, Container verwalten |
Container, Docker |
| 78–97 | Hintergrundbetrieb, Restart-Policy, Ports, nginx, PySpark | Container |
| 98–130 | Datenhaltung: docker cp, Bind Mounts, Volumes, tmpfs, Pandoc-Beispiel, Datenbank-Update |
Container |
| 131–148 | Netzwerke: bridge, host, none, MariaDB mit phpMyAdmin | Container, Netzwerksicherheit |
| 149–202 | Dockerfiles: Anweisungen, docker build, Sicherheit bei ENV/ARG, .dockerignore, ARM vs. x86, Alpine/musl, Multi-Stage-Builds |
Dockerfile |
| 203–224 | Docker Compose, YAML, Skalierung, .env, Flask-Redis-nginx |
Docker Compose |
| 225–256 | Microservices, Docker Swarm, Services und Tasks, Routing-Mesh, Secrets, Configs, Raspberry-Pi-Cluster | Microservices, Container-Orchestrierung |
| 257–329 | Kubernetes: Architektur, Pods, Minikube, kubectl, Deployments, Services, DNS, Umgebungsvariablen | Kubernetes, Container-Orchestrierung |
Kernaussagen
- Container lösen das Replizierbarkeitsproblem. Eine Anwendung, die unter Windows entwickelt wird und auf Ubuntu laufen soll, scheitert an Python-Versionen, Modulversionen, Zeitzonen, Gross-/Kleinschreibung im Dateisystem. Ein Container packt Code und alle Abhängigkeiten zusammen und teilt sich den Kernel mit dem Host, ist also leichter als eine virtuelle Maschine (Folien 7–24; Virtualisierung, Container).
- Image ist die Klasse, Container das Objekt. Images sind unveränderliche Schichten, Container bekommen eine eigene beschreibbare Schicht, die mit dem Container verschwindet. Dauerhafte Daten gehören in Volumes oder Bind Mounts, Kommunikation läuft über Docker-Netzwerke und veröffentlichte Ports (Folien 39–147; Container).
- Ein Dockerfile beschreibt ein Image als Code. FROM, RUN, COPY, CMD/ENTRYPOINT, ENV/ARG, EXPOSE, VOLUME; Multi-Stage-Builds halten Produktiv-Images klein (Folien 149–202; Dockerfile).
- Docker Compose beschreibt ganze Anwendungen. Mehrere Services mit Netzwerk, Volumes und Umgebungsvariablen in einer
compose.yaml, gestartet mitdocker compose up(Folien 203–224; Docker Compose). - Orchestrierung verteilt Container auf Cluster. Docker Swarm ist „Compose auf mehreren Hosts“, Kubernetes der mächtigere Standard mit Pods, Deployments und Services. Beide arbeiten deklarativ: Man beschreibt den Zielzustand, das System stellt ihn her (Folien 225–329; Container-Orchestrierung, Kubernetes, Microservices).
Fehler und Ungenauigkeiten in der Quelle
- Kubernetes-Laufzeit (Folie 267): „Container Runtime: z.B. Docker“. Seit Kubernetes 1.24 (Mai 2022, also schon vor dem PDF) ist die direkte Docker-Anbindung (dockershim) entfernt. Docker Engine geht nur noch über den Adapter cri-dockerd, üblich sind containerd oder CRI-O (Quelle - Recherche - Docker heute 2026).
- Kubernetes „2015 als Open Source veröffentlicht“ (Folie 260): Angekündigt und veröffentlicht wurde es im Juni 2014, 2015 kam Version 1.0 (Quelle - Recherche - Docker heute 2026).
- Portnummern (Folie 85): Es gibt 65 536 Portnummern (0–65535), nicht 65 535 (Einordnung Claude).
- Netzwerktreiber (Folie 137): Der Treiber heisst
none, nicht „Null“; die Folie nennt ihn im Text selbst so. - Folie 240 („Wird Load-Balancing ausgeführt?“) wiederholt wörtlich den Text von Folie 238 (Service-Befehle).
cat(Folie 19): „eine neue Textdatei anlegen“.catgibt Dateien aus bzw. hängt sie zusammen, eine Datei entsteht nur mit Umleitung (cat > datei).- Compose-
version(Folie 210): „Aktuell: 3“ und im selben Atemzug „ist aber veraltet“. Heute wird das Feld ignoriert und erzeugt eine Warnung (Quelle - Recherche - Docker heute 2026). - Tippfehler: „Deamon“ (Folie 36), „Kuberenetes“ (Folie 3), „bind mound“ (Folie 114), „spect.template“ (Folie 296).
Neu angelegte Seiten
- Konzepte: Virtualisierung, Container, Dockerfile, Docker Compose, Container-Orchestrierung, Microservices
- Entitäten: Docker, Kubernetes, Jannis Seemann
Verwandt
- Quelle - Recherche - Docker heute 2026 – der heutige Stand zu Lizenz, Compose, Swarm und Kubernetes
- Quelle - Angular Mastery Workshop – anderes Kursmaterial zur Webentwicklung, ebenfalls nur lokal
- Sicherheit des eigenen Vaults – die Webseite dieses Vaults lief früher als Compose-Projekt
