Beenden eines laufenden Containers mit Standardsignal
Im vorherigen Schritt haben wir einen Container ausgeführt, der einen Befehl ausführte und sich dann beendete. In diesem Schritt werden wir einen Container starten, der aktiv bleibt, und lernen, wie man ihn mit dem Standardsignal stoppt.
Zuerst starten wir einen Container, der kontinuierlich läuft. Wir verwenden erneut das ubuntu
-Image, diesmal jedoch mit einem Befehl, der unendlich wartet.
docker run -d ubuntu sleep infinity
Betrachten wir den Befehl im Detail:
docker run
: Befehl zum Starten eines neuen Containers
-d
: Dieser Parameter startet den Container im Detached-Modus (im Hintergrund), ohne das Terminal zu blockieren
ubuntu
: Das zu verwendende Image
sleep infinity
: Der im Container auszuführende Befehl. sleep infinity
bewirkt, dass der Container unbegrenzt läuft
Nach Ausführung dieses Befehls gibt Docker die Container-ID aus. Der Container läuft nun im Hintergrund.
Um die aktiven Container anzuzeigen, verwenden Sie den Befehl docker ps
:
docker ps
Sie sollten einen Eintrag für den gerade gestarteten Container sehen, mit dem Status "Up" und der Laufzeit. Notieren Sie sich die CONTAINER ID
oder den NAMES
-Eintrag, da wir diese Angaben zum Stoppen des Containers benötigen.
Nun beenden wir den laufenden Container mit dem docker kill
-Befehl. Standardmäßig sendet docker kill
das SIGKILL
-Signal an den Hauptprozess des Containers. SIGKILL
ist ein Signal, das einen Prozess sofort beendet und nicht abgefangen oder ignoriert werden kann.
Ersetzen Sie <container_id_or_name>
durch die tatsächliche ID oder den Namen Ihres Containers aus der docker ps
-Ausgabe:
docker kill <container_id_or_name>
Nach Ausführung dieses Befehls sollte der Container gestoppt sein. Sie können dies mit erneutem docker ps
überprüfen. Der Container sollte nicht mehr in der Liste der aktiven Container erscheinen.
Um den beendeten Container anzuzeigen, verwenden Sie docker ps -a
. Sein Status sollte nun "Exited" lauten.