Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Was ist ein Container? Docker erklärt

Nach dieser Lektion: Ich kann an einem Container ablesen, ob seine App läuft, und im Protokoll nachsehen, was er gemeldet hat.

Lektion, 45 Min.3 BefehleDocker-Grundlagen-Lab: Container, Logs und Neustarts lernen, indem ein defekter Dienst repariert wird

Es läuft nur bei Mia

Ein Container ist ein Programm, das zusammen mit allem verpackt ist, was es zum Laufen braucht. So läuft es auf jedem Rechner gleich.

Mia baut eine Webseite für ihren Handballverein. Bei ihr läuft alles. Auf dem Vereinsrechner startet die Seite nicht, weil dort andere Programmversionen stehen. Ein Container löst genau dieses Problem.

Am Ende dieser Lektion

Notiz

Ich kann an einem Container ablesen, ob seine App läuft, und im Protokoll nachsehen, was er gemeldet hat.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Containerein Programm, verpackt mit allem, was es braucht, getrennt vom Rest
Imagedie Vorlage, aus der ein Container gestartet wird
Dockerein Programm, das Container startet und verwaltet
Dienstein Programm, das im Hintergrund auf Anfragen wartetweb
Protokollder Text, den ein Programm über sich selbst schreibt (Log)
Volumeein Speicherplatz, der bleibt, auch wenn der Container ersetzt wird

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Bevor du anfängst

Notiz

Drück oben in der Leiste auf Lab starten. Das Lab ist deine eigene kleine Umgebung mit drei Diensten und braucht eine Minute zum Hochfahren. Jede Schaltfläche Ausführen tippt ihren Befehl in dein Terminal.

Ein Container verpackt ein Programm samt Umgebung

Ein Programm braucht oft bestimmte Versionen anderer Programme. Wenn sie fehlen, startet es nicht.

Ein Container packt das Programm und diese Teile in eine Kiste. Gestartet wird die Kiste aus einem Image. Aus einem Image kannst du beliebig viele gleiche Container starten.

Container und virtuelle Maschine im Vergleich

Virtuelle MaschineContainer
BetriebssystemEin ganzes eigenesTeilt es mit dem Rechner, auf dem er läuft
StartzeitEtwa eine MinuteWenige Sekunden
GrößeMehrere GigabyteOft nur einige Megabyte
Gut dafürEin ganzes System nachbauenEine einzelne App verpacken

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

docker ps zeigt, was läuft

Der Befehl docker ps listet die Container auf, die gerade laufen. Mit -a zeigt er auch die gestoppten.

Mit --format bestimmst du, was in jeder Zeile steht. {{.Names}} ist der Name, {{.Status}} der Zustand. So bekommst du pro Container eine kurze Zeile.

Alle Container mit Zustand auflisten

Befehl
docker ps -a --format "{{.Names}}: {{.Status}}"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

So liest du den Zustand

Der Zustand sagtDas bedeutet
Up 3 minutes (healthy)Läuft seit drei Minuten und besteht seine Gesundheitsprüfung
Up 10 secondsLäuft seit zehn Sekunden
Exited (0) 2 minutes agoHat sich vor zwei Minuten ohne Fehler beendet
Exited (1) 2 minutes agoHat sich vor zwei Minuten mit dem Fehlercode 1 beendet

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein häufiger Fehler

Warnung

Viele glauben, ein gestoppter Container sei gelöscht. Das stimmt nicht. Er steht noch da, nur ohne Strom. docker ps zeigt nur die laufenden Container, docker ps -a zeigt alle.

Das Protokoll sagt, was ein Programm gemeldet hat

Ein Programm schreibt auf, was es tut und was schiefgeht. Das ist sein Protokoll.

Mit docker logs und dem Namen liest du es. Steht ein Container still, ist das Protokoll der erste Ort, an dem du suchst. Oft steht die Ursache in der letzten Zeile.

Das Protokoll des Dienstes cache lesen

Befehl
docker logs cache

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

In cache einen Befehl ausführen

Befehl
docker exec cache valkey-cli ping

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Was beim Neustart bleibt und was nicht

Dateien, die ein Container in seinem eigenen Dateisystem schreibt, gehören zu diesem Container. Ein Neustart behält sie, denn es ist derselbe Container.

Wird das Lab beendet, sind sie weg. Nur ein Volume bleibt. Wichtige Daten gehören deshalb in ein Volume.

Wo Dateien bleiben

Ort der DateiContainer neu startenLab beenden
Im Dateisystem des ContainersBleibtIst weg
In einem VolumeBleibtBleibt

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Weiterführend: dein Lab genau ansehen

Schau dir die Zeilen deines Labs an. Einer der drei Dienste läuft nicht. Schreib seinen Namen und seinen Zustand auf.

Lies danach sein Protokoll und notiere die Zeile, die dir sagt, was fehlt. Das Reparieren ist die Aufgabe des Labs. Hier schaust du nur hin.

Über dieses Lab und seinen Quellcode: Docker-Grundlagen-Lab: Container, Logs und Neustarts lernen, indem ein defekter Dienst repariert wird

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.