Ein Blog über Code, Hardware und Co

NAS, Server und Co

[Lösung] Docker-Container auflisten, starten, stoppen, löschen

Docker ist einfach super. Eine leichtgewichtige Software zur Containerisierung von Diensten und der Realisierung von Microservices.
Dazu lauffähig auf nahezu jedem Betriebssystem. Ich zeige dir, wir du ganz einfach die Docker-Container, die auf deinem System laufen auflistest, neue Container startest, Container stoppst und Container löschst.

Docker Container anzeigen: docker ps

Mit “docker ps” lassen sich kinderleicht alle auf dem Host laufenden Container anzeigen. Wir gehen dazu einfach ins Terminal bzw. in die PowerShell und nutzen die folgenden Befehle.

Alle laufenden Container anzeigen:

docker ps

“docker ps” liefert standardmäßig alle aktuell laufenden Container. Wenn wir alle auf dem System eingerichteten Container auflisten möchten, müssen wir den Parameter “-a” anhängen.

Bild 1: Auflistung aller laufenden Docker-Container auf einem Host.

Alle eingerichteten Container anzeigen:

docker ps -a
Bild 2: Auflistung aller auf einem Host erstellten Docker-Container. Markiert sind die nicht laufenden Container.

Tipp: Es kann sein, dass “docker ps” bei dir nur mit root-Rechten ausgeführt werden kann und sonst keinen Zugriff auf den Docker Daemon Socket hat.
In diesem Falle einfach den Befehl mit einem vorangestellten “sudo” ausführen.

Also z.B: sudodocker ps -a

Docker Container erstellen

Docker Container erstellt man aus sog. Images. Diese Images beinhalten entsprechende Befehle um einen Dienst zu installieren und im Optimalfall direkt mit zu konfigurieren. Weitere Konfigurationsparameter können über den Startbefehl oder sog. Umgebungsvariablen ergänzt werden.

Container-Images suchen mit “docker search”

Zunächst gilt es also, z.B. über den Docker-Hub passende Container zu finden.
Möchten wir z.B. einen MariaDB-Server aufsetzen, können wir mit folgendem Befehl nach passenden Images suchen:

sudo docker search mariadb
Bild 3: Ausgabe von Docker Search.

Docker-Image herunterladen mit “docker pull”

Haben wir ein passendes Image gefunden, müssen wir es in unsere lokale Docker-Instanz laden.
Da geht einfach mit folgendem Befehl:

docker pull <imagename>

<imagename> muss natürlich mit dem NAME des entsprechenden Images ersetzt werden.

Bild 4: Docker pull mariadb.

Anzeige der lokal heruntergeladenen Images

Mit dem Befehl “docker images” kannst du dir anzeigen lassen, welche Images bereits lokal in deiner Instanz vorliegen.
Zum Beispiel auch eines der eben gesuchten und dann heruntergeladenen mariadb-images.

docker images
Bild 5: Auflistung der lokal vorhandenen Images mit “docker images”.

Docker-Container erstellen mit “docker run”

Wenn wir jetzt aus einem dieser Images einen Container erstellen und laufen lassen wollen, verwenden wir den Befehl “docker run”:

docker run mariadb

Es wird nun ein neuer Container aus dem Image “mariadb” erstellt und gestartet.

Achtung: Man kann hier sehr viele Parameter angeben, es ist sinnvoll, sich vorher die Dokumentation des jeweiligen Containers anzuschauen.

Vorhandene Docker-Container starten mit “docker start”

Wenn bereits erstellte Container auf dem Host liegen, die aktuell aber nicht gestartet sind, so kann man diese einfach mittels “docker start” starten.
Der Befehl hat dabei die folgende Syntax:

docker start <containerid>

Der Große Vorteil ist, dass man hier keine neuen Parameter oder Einstellungen übergeben muss, da die Einstellungen bereits in dem angelegten Container gespeichert sind und bleiben.

Wie finde ich nun die Container-ID des Containers heraus, den ich starten möchte?

Das geht ganz einfach mittels des oben bereits vorgestellten “docker ps” Befehls:

docker ps -a

Tipp: Alternativ kann man einen Container auch anhand seines Namens starten:

docker start <containername>

Docker-Container stoppen mit “docker stop”

Einen laufenden Container kann man einfach mit dem Befehl “docker stop” herunterfahren:

docker stop <containerid>

Auch hier kann man statt der Container-ID wieder optional den Containernamen verwenden:

docker stop <containername>

Docker Container löschen mit “docker rm”

Wenn wir noch Container auf dem Host haben, die wir garantiert nicht mehr benötigen, können wir aufräumen und den Speicher freigeben, indem wir den Container komplett löschen. Das geht mit dem Befehl “docker rm”:

docker rm <containerid>

Auch hier gibt es wieder die Variante mit dem Containernamen:

docker rm <containername>

Die Löschroutine überprüft beim Löschvorgang, ob es Abhängigkeiten zu dem jeweiligen Container gibt. Ist das der Fall, wird das Löschen zunächst unterbunden (aus gutem Grund). Sollte man den Container trotzdem löschen wollen, kann man den “-f”-Paramater (“force”) nutzen, dieser erzwingt die Löschung:

docker rm <containerid> -f

Die vorgestellten Befehle kannst du dir auch im Video anschauen:

Viel Spaß mit deinen Docker-Containern 😉

Schreibe eine Antwort