Quelle - Docker Bootcamp

Aus Zweites Gehirn, dem persönlichen Wiki
Quelle - Docker Bootcamp
TypQuelle
Rohdateisources/Docker (Slides).pdf (nur lokal, per .gitignore vom Repository ausgeschlossen)
AutorJannis Seemann
Datum_quelle2022-11-03 (PDF-Erstellungsdatum)
FormatPDF (Kursfolien), 331 Folien, mit Textebene
Erstellt2026-09-27
Aktualisiert2026-09-27
Tagsdocker, 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

  1. 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).
  2. 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).
  3. 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).
  4. Docker Compose beschreibt ganze Anwendungen. Mehrere Services mit Netzwerk, Volumes und Umgebungsvariablen in einer compose.yaml, gestartet mit docker compose up (Folien 203–224; Docker Compose).
  5. 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“. cat gibt 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

Verwandt