Listen Sie nur die angehaltenen Container in Docker auf

David Mbochi Njonge 20 Juni 2023
  1. Ziehen Sie das Nginx-Image aus dem Docker-Hub
  2. Listen Sie die Docker-Images auf
  3. Führen Sie Container aus dem Nginx-Image aus
  4. Listen Sie die laufenden Container auf
  5. Stoppen Sie einen laufenden Container
  6. Listen Sie den angehaltenen Container mit dem Befehl docker ps auf
  7. Listen Sie den angehaltenen Container mit dem Befehl docker container ls auf
  8. Abschluss
Listen Sie nur die angehaltenen Container in Docker auf

Docker stellt uns nützliche Befehle zur Verfügung, mit denen wir unsere Bilder und Container verwalten können, aber einige der Befehle sind nicht offensichtlich. Zum Beispiel können wir den Docker-Befehl docker ps verwenden, um eine Liste der laufenden Container anzuzeigen, oder den Docker-Befehl docker ps -a, um eine Liste aller Container anzuzeigen, egal ob gestoppt oder ausgeführt.

Eine nicht offensichtliche Funktionalität ist das Anzeigen einer Liste nur der angehaltenen Container. In diesem Tutorial erfahren Sie, wie Sie eine Liste nur der gestoppten Container in Docker anzeigen.

Ziehen Sie das Nginx-Image aus dem Docker-Hub

In diesem Tutorial verwenden wir das Nginx-Image, um Container davon auszuführen, und verwenden diese Container, um das Ziel dieses Artikels zu erreichen.

Öffnen Sie ein neues Terminalfenster mit der Tastenkombination ALT+F12 auf Ihrem Computer und verwenden Sie dann den folgenden Befehl, um ein Nginx-Image aus dem Docker-Hub abzurufen.

~$ docker pull nginx

Da wir das tag nicht angegeben haben, ruft dieser Befehl die neueste Version von Nginx ab. Wir können die Download-Details im Terminalfenster anzeigen, wie unten gezeigt.

Using default tag: latest
latest: Pulling from library/nginx
e9995326b091: Pull complete
71689475aec2: Pull complete
f88a23025338: Pull complete
0df440342e26: Pull complete
eef26ceb3309: Pull complete
8e3ed6a9e43a: Pull complete
Digest: sha256:943c25b4b66b332184d5ba6bb18234273551593016c0e0ae906bab111548239f
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

Listen Sie die Docker-Images auf

Sobald der Download abgeschlossen ist, können wir mit dem folgenden Befehl, der alle Bilder auflistet, überprüfen, ob das Nginx-Image heruntergeladen wurde.

~$ docker image ls

Wenn zuvor andere Images installiert wurden, werden sie alle mit diesem Befehl aufgelistet. In unserem Fall haben wir nur das in diesem Tutorial verwendete Bild angezeigt, um zu überprüfen, ob das Bild heruntergeladen wurde.

Die Bilddetails sind unten dargestellt:

REPOSITORY                        TAG       IMAGE ID       CREATED       SIZE
nginx                             latest    76c69feac34e   2 days ago    142MB

Führen Sie Container aus dem Nginx-Image aus

Zu Testzwecken werden wir nur zwei Container mit den Namen container-one bzw. container-two betreiben. Führen Sie im selben Terminalfenster die folgenden Befehle nacheinander aus, um die beiden Container mit dem Image nginx auszuführen.

Ausführen von container-one:

~$ docker run --name container-one -d -p 3000:80 nginx

Ausgang:

9e70a29947c373df2abd4748271d252f297c6a06669f7cffb04fe95ee5fca671

Ausführen von Container-zwei:

~$ docker run --name container-two -d -p 5000:80 nginx

Ausgang:

43cd017b94062e47c6c3f868ed74fb5ca7920522e870eceb58115e388e9d43a5

Beachten Sie, dass der erste Container Port 3000 auf dem Host verfügbar macht, um auf Port 80 auf dem Container zu lauschen, während der zweite Container Port 5000 auf dem Host verfügbar macht, um auf demselben Port wie der vorherige Container zu lauschen.

Listen Sie die laufenden Container auf

Im vorherigen Abschnitt haben wir zwei Container mit den Namen container-one und container-two ausgeführt. Um zu überprüfen, ob diese Container ausgeführt werden, können wir den folgenden Befehl verwenden, der alle ausgeführten Container auflistet.

~$ docker ps

Ausgang:

CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
43cd017b9406   nginx     "/docker-entrypoint.…"   4 minutes ago    Up 4 minutes    0.0.0.0:5000->80/tcp   container-two
9e70a29947c3   nginx     "/docker-entrypoint.…"   24 minutes ago   Up 24 minutes   0.0.0.0:3000->80/tcp   container-one

Stoppen Sie einen laufenden Container

Bevor wir den gestoppten Container auflisten, müssen wir einen Container stoppen, und wir können den folgenden Befehl verwenden, um einen Container mit seinem Namen zu stoppen. Sie können mehrere Container ausführen und stoppen.

~$ docker stop container-one

Ausgang:

container-one

Wenn wir den Befehl docker ps ausführen, werden wir feststellen, dass nur container-two läuft. Im nächsten Abschnitt erfahren Sie, wie Sie nur den angehaltenen Container auflisten, was das Hauptziel dieses Tutorials ist.

Listen Sie den angehaltenen Container mit dem Befehl docker ps auf

Der Befehl docker ps hat ein --filter-Flag, das wir angeben können, um die Container basierend auf einer Bedingung zu filtern. Der Wert des --filter-Flags erwartet eine Bedingung, die verwendet wird, um eine Ausgabe bereitzustellen.

Verwenden Sie im selben Terminalfenster den folgenden Befehl, um Container mit dem Status beendet zu filtern.

~$ docker ps --filter "status=exited"

Ausgang:

CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS                      PORTS                    NAMES
9e70a29947c3   nginx                   "/docker-entrypoint.…"   48 minutes ago   Exited (0) 18 minutes ago                            container-one

Listen Sie den angehaltenen Container mit dem Befehl docker container ls auf

Dieser Befehl hat dieselbe Syntax wie das vorherige Beispiel. Der Befehl docker container ls hat ein --filter-Flag, das wir angeben können, um die Container basierend auf einer Bedingung zu filtern. Da das --filter-Flag dasselbe ist, müssen wir nur die Bedingung bereitstellen, um die Container mit dem Status exited zu filtern, wie unten gezeigt.

~$ docker container ls --filter "status=exited"

Ausgang:

CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS                      PORTS                    NAMES
9e70a29947c3   nginx                   "/docker-entrypoint.…"   48 minutes ago   Exited (0) 18 minutes ago                            container-one

Beachten Sie, dass das --filter-Flag in Form von Schlüssel-Wert-Paaren bereitgestellt werden sollte, und falls mehrere Filter vorhanden sind, stellen Sie sicher, dass mehrere Flags bereitgestellt werden.

In diesem Tutorial haben wir den Filter namens status verwendet, um die Container basierend auf dem Status zu filtern. Die Docker-Dokumentation bietet jedoch andere Strategien, die wir zum Filtern der Container nutzen können.

Abschluss

In diesem Tutorial haben wir gelernt, wie Sie nur die angehaltenen Container in Docker auflisten, indem Sie einen Nginx-Container nutzen. Die beiden Ansätze, die dafür behandelt werden, umfassen das Auflisten eines angehaltenen Containers mit dem Befehl ps und das Auflisten eines angehaltenen Containers mit dem Befehl container ls.

Die beiden Befehle haben ein --filter-Flag, das ein Schlüssel-Wert-Paar akzeptiert, um die Container basierend auf einer bestimmten Bedingung zu filtern.

David Mbochi Njonge avatar David Mbochi Njonge avatar

David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.

LinkedIn GitHub

Verwandter Artikel - Docker Container