Docker β wie es innen funktioniert
Vom Befehl docker run bis zum laufenden Prozess: Client, Daemon, containerd und runc, Images aus Schichten, Isolation durch Namespaces und cgroups, Netze, Volumes β und Docker Compose. Alles interaktiv, Schritt fΓΌr Schritt.
ποΈAufbau: wer macht was?
Auf einen Baustein klicken, um ihn zu erklΓ€ren.
dockerd
dockerd ist der Daemon: Er verwaltet Images, Container, Netze und Volumes, bietet die REST-API und kΓΌmmert sich um Build (BuildKit), Pull/Push, Port-VerΓΆffentlichung und Logs. Die eigentliche Container-AusfΓΌhrung gibt er an containerd weiter.
- βΈKonfiguration:
/etc/docker/daemon.json - βΈNetze ΓΌber die Bibliothek libnetwork
- βΈLogs der Container ΓΌber Log-Treiber (json-file, journald β¦)
πContainer oder virtuelle Maschine?
π₯οΈ Virtuelle Maschine
ββββββββββββββββββββββ β App A ββ App B β βββββββββββ€βββββββββββ€ β Gast-OS ββ Gast-OS β β je ein eigener Kernel ββββββββββββββββββββββ ββββββββββββββββββββββ β Hypervisor β ββββββββββββββββββββββ€ βHost-Betriebssystem β ββββββββββββββββββββββ
Starke Trennung durch Hardware-Virtualisierung, aber Gigabytes pro Gast und Startzeiten im Sekundenbereich.
π¦ Container
ββββββββββββββββββββββ β App A ββ App B β β + Libs ββ + Libs β β nur Dateien + Namespaces ββββββββββββββββββββββ ββββββββββββββββββββββ β Docker / containerdβ ββββββββββββββββββββββ€ β Host-Kernel (Linux)β β von allen geteilt ββββββββββββββββββββββ
Normale Prozesse mit eingeschrΓ€nkter Sicht: Megabytes statt Gigabytes, Start in Millisekunden β aber ein gemeinsamer Kernel.
π§Kapitel
docker run im Debugger
Pull, Layer entpacken, Namespaces, veth, iptables, Start β 17 Schritte vor und zurΓΌck.
Images & Layer
Referenzen, Manifest und Digest (live berechnet), OverlayFS mit Copy-on-Write zum Ausprobieren.
Dockerfile & Build-Cache
Zeile Γ€ndern β Cache-Treffer und -FehlschlΓ€ge sehen. Multi-Stage mit GrΓΆΓenvergleich.
Container
Lebenszyklus, Namespaces, cgroups, Restart-Policies und Healthchecks als Simulator.
Netzwerk
bridge, host, none, eigene Netze, Port-Mapping mit echten iptables-Regeln, eingebautes DNS.
Volumes & Bind-Mounts
Wo liegen die Daten? Volume, Bind-Mount und tmpfs im Vergleich.
Compose-Visualizer
docker-compose.yml einfΓΌgen β Diagramm, Startreihenfolge, FehlerprΓΌfung, Overrides, Profile.
Befehls-Spickzettel
Die wichtigsten Befehle mit ErklΓ€rung und Beispielausgabe, durchsuchbar.