
Docker-Container auflisten: Ein umfassender Leitfaden
Das Auflisten von Containern ist ein entscheidender Schritt bei der Arbeit mit containerisierten Anwendungen. Es hilft Ihnen, die auf einem Docker-Host laufenden Container zu erkennen , ihren Status zu überwachen, Ressourcen effizienter zu nutzen und potenzielle Probleme zu identifizieren. Dieser Prozess unterstützt außerdem den Lastausgleich, die optimale Platzierung von Containern und die Gewährleistung der Sicherheit durch die Überprüfung auf unautorisierte oder schädliche Container.
Inhalte
- Anzeigen laufender Container
- Alle Container anzeigen
- Verstehen, wie nützlich es ist, den neuesten Container in verschiedenen Szenarien aufzulisten
- Anzeigen vollständiger Werte in der Ausgabe:
- Informationen zur Spalte „Zusätzliche Größe“ in der Ausgabe
- Anpassen der Ausgabe
- Beispiele für die Anpassung der angezeigten Informationen
- Erweiterte Filter verwenden
- Filtern nach verschiedenen Kriterien wie Name, Bezeichnung, Status usw.
- Fazit
Anzeigen laufender Container
Verwenden Sie den Befehl `docker ps`, um nur die aktuell laufenden Container aufzulisten. Wenn Sie mehrere Container erstellt haben, laufen einige möglicherweise, während andere gestoppt sind. Der Befehl `docker ps` zeigt standardmäßig nur die aktiven Container an.

Grundlegendes zu den Spalten in der Ausgabe:
Nach Ausführung des Befehls `docker ps` wird für jeden aktiven Container eine Liste mit Spalten angezeigt, die verschiedene Details enthalten:
– Container-ID: Diese Spalte zeigt die eindeutige ID jedes laufenden Containers an.
– Bild: Das Bild, das zur Erstellung jedes Containers verwendet wurde, wird hier angezeigt.
– Befehl: Diese Spalte zeigt den Befehl an, der im Hintergrund ausgeführt wird, um den Container zu starten und zu verwalten.
– Erstellt: Der Zeitstempel, zu dem jeder Container erstellt wurde.
– Status: Hier wird der aktuelle Zustand jedes Containers angezeigt, z. B. ob er ausgeführt wird, beendet wird, pausiert, entfernt wird oder neu gestartet wird.
– Ports: Diese Spalte zeigt die Ports an, die den einzelnen Containern zugeordnet sind. Dadurch können Sie über die Ports des Hostsystems auf Dienste innerhalb des Containers zugreifen. Wenn beispielsweise Port 8080 des Hostsystems Port 80 im Container zugeordnet ist, können Sie den Webdienst des Containers über `http://localhost:8080` aufrufen.
– Namen: Jedem Container ist ein eindeutiger Name zugewiesen.

Alle Container anzeigen
Um alle Container, einschließlich der gestoppten, aufzulisten, verwenden Sie den Befehl `docker ps -a` . Dieser zeigt jeden Container an, unabhängig davon, ob er ausgeführt wird, pausiert ist, neu gestartet wird oder gestoppt ist.

Unterscheiden zwischen laufenden und gestoppten Containern in der Ausgabe:
Mit dem Befehl `docker ps -a` können Sie anhand der Spalte „STATUS“ erkennen, ob ein Container läuft oder gestoppt wurde . Steht dort beispielsweise „up 3 hours“, bedeutet das, dass der Container die letzten drei Stunden lief. Steht dort hingegen „Exited 4 hours ago“, wurde der Container vor vier Stunden gestoppt.

Auflisten der zuletzt erstellten Container
Der Befehl `docker ps -l` wurde verwendet, um den zuletzt erstellten Container aufzulisten. Die Option `-l` ist jedoch in neueren Docker-Versionen veraltet. Stattdessen können Sie `docker ps -n 1` verwenden , um den neuesten Container anzuzeigen. Bei `docker ps -n 1` müssen Sie nach dem Schlüsselwort `-n` die Anzahl der aufzulistenden Container angeben . Um beispielsweise die letzten fünf erstellten Container anzuzeigen, führen Sie `docker ps -n 5` aus.

Verstehen, wie nützlich es ist, den neuesten Container in verschiedenen Szenarien aufzulisten
● Rollback, wenn nach einem Update Probleme auftreten:
Wenn Sie häufig Updates für Ihre Containeranwendung bereitstellen und nach dem letzten Update etwas schief geht, kann dieser Befehl sehr hilfreich sein. Damit können Sie schnell die neuesten Container identifizieren, die seit dem Update erstellt wurden, und so einfacher auf eine frühere, stabile Version zurücksetzen.
● Ressourcenbeschränkungen für die Containerbereitstellung:
Wenn Ihr System über begrenzte Ressourcen wie CPU, RAM oder Speicher verfügt und Sie diese effizienter zuweisen möchten, ist es wichtig zu verfolgen, wie viel dieser Ressourcen die neuesten Container verwenden. Mit diesem Befehl können Sie die neuesten Container auflisten, sodass Sie ihre Konfigurationen anpassen können, um die Ressourcennutzung zu optimieren.
Deaktivieren der Kürzung
Der Befehl „docker ps –no-trunc“ wird verwendet, um die Kürzung von Containernamen zu verhindern. Wenn Sie den Befehl „docker ps“ ausführen, stellen Sie möglicherweise fest, dass einige Werte in der Ausgabe, z. B. Container-IDs oder Bildnamen, gekürzt werden, was ihre Lesbarkeit erschweren kann. Um dies zu vermeiden, können Sie den Befehl „docker ps –no-trunc“ verwenden. Dadurch wird die standardmäßige Kürzung von Docker deaktiviert, sodass Sie die vollständigen Werte in der Ausgabe sehen können.
Anzeigen vollständiger Werte in der Ausgabe:
Hier ist ein Beispiel für die Ausgabe, die Sie nach dem Deaktivieren der Docker-Abschneidung mit dem Befehl `docker ps --no-trunc` sehen werden:

Nur Container-IDs auflisten (Stiller Modus)
Der Befehl `docker ps -q` listet im stillen Modus nur die Container-IDs auf. Oftmals sind die zusätzlichen Details wie Images, Ports und Namen in der Ausgabe von `docker ps` für Ihre Zwecke nicht relevant. Wenn Sie nur die Container-IDs ohne die zusätzlichen Informationen sehen möchten, verwenden Sie den Befehl `docker ps -q` . Dadurch wird die Ausgabe so angepasst, dass nur die Container-IDs angezeigt werden.

Ideale Szenarien für die ausschließliche Verwendung von Container-IDs:
Orchestrierungsumgebungen
Viele Organisationen, insbesondere größere Unternehmen, setzen auf Orchestrierungstools wie Kubernetes und Docker Swarm. Diese Tools verwenden häufig Container-IDs, um Container effizient zu verwalten und zu planen. Mit dem Befehl `docker ps -q` lassen sich Container-IDs abrufen, sodass Sie Operationen an Containern innerhalb einer Orchestrierungsumgebung durchführen können.
Container verbinden
In einem verteilten System ist es üblich, Verbindungen zwischen Containern herzustellen, um Ressourcen gemeinsam zu nutzen, die Netzwerkkommunikation zu verbessern und die Skalierbarkeit zu erhöhen. Um diese Verbindungen einzurichten, benötigen Sie die spezifischen Container-IDs. Mit dem Befehl „docker ps -q“ können Sie schnell die erforderlichen IDs zum Herstellen dieser Verbindungen sammeln.
Überprüfen der Containergröße
Der Befehl `docker ps --size` zeigt die Größe jedes Containers an. Wie bereits im Abschnitt „Neueste Container auflisten“ erwähnt, müssen begrenzte Ressourcen wie CPU, RAM und Speicherplatz sorgfältig überwacht werden. Mit diesem Befehl können Sie den von jedem Container belegten Speicherplatz überprüfen und so schnell Container identifizieren, die zu viel Speicherplatz verbrauchen. Dadurch können Sie Maßnahmen ergreifen, um die Ressourcen effizienter zu verwalten.

Informationen zur Spalte „Zusätzliche Größe“ in der Ausgabe
Wenn Sie den Befehl `docker ps --size` ausführen , erscheint in der Ausgabe eine zusätzliche Spalte, die sowohl die tatsächliche Größe als auch die virtuelle Größe anzeigt, die von jedem Container verwendet wird.
– Tatsächliche Größe: Dies bezieht sich auf die Größe, die von der beschreibbaren Containerebene verwendet wird, einschließlich des Dateisystems des Containers und aller daran vorgenommenen Änderungen.
– Virtuelle Größe: Dies entspricht dem gesamten Speicherplatz, der benötigt wird, wenn jede Ebene im Container separat und nicht gemeinsam genutzt gespeichert wird. Sie umfasst die Gesamtgröße aller Ebenen im Container, z. B. Basisimages, gemeinsam genutzte Ebenen und zusätzliche Ebenen.
Anpassen der Ausgabe
Mit dem Befehl `docker ps –format` können Sie das Ausgabeformat anpassen, indem Sie nur die Spalten auswählen, die Sie beim Auflisten Ihrer Container anzeigen möchten. Dazu können Sie die Option `–format` mit einer Go-Vorlagenzeichenfolge verwenden, die in Docker integriert ist und auf der Programmiersprache Go basiert. Diese Syntax lässt sich einfach direkt mit Docker-Befehlen verwenden. Der Befehl würde folgendermaßen aussehen: `docker ps --format "GOTEMPLATE"`.
Syntax der Go-Vorlagenzeichenfolge:
`docker ps --format "ID: {{.ID}}, Name: {{.Names}}, Image: {{.Image}}, Status: {{.Status}}"`
In dieser Syntax stellen die doppelten geschweiften Klammern `{{}}` Platzhalter dar, die bestimmten Containereigenschaften entsprechen, wie z. B. ID, Namen, Bild und Status. Wenn Sie den Befehl ausführen, werden diese Platzhalter durch die tatsächlichen Werte ersetzt.
Beispiele für die Anpassung der angezeigten Informationen
So können Sie die Ausgabe anpassen, um nur die Container-ID, das Bild und den Namen anzuzeigen:

Passen wir nun die Ausgabe an, um die neuesten Container anzuzeigen, einschließlich der Container-ID, des Status und einer zusätzlichen Spalte für die GRÖSSE:

Erweiterte Filter verwenden
Mit dem Befehl `docker ps --filter` können Sie Container anhand bestimmter Attribute oder Bedingungen filtern. Fügen Sie dazu einfach die Option `--filter` gefolgt von einem Schlüssel-Wert-Paar hinzu. Der Schlüssel (`key`) ist das Containerattribut, nach dem Sie filtern möchten, und der Wert (`value`) die anzuwendende Bedingung. Ein Vorteil der Filteroption ist, dass Sie sie mit verschiedenen Bedingungen mehrfach verwenden können.
Filtern nach verschiedenen Kriterien wie Name, Bezeichnung, Status usw.
Um beispielsweise nach dem Containernamen zu filtern, können Sie den folgenden Befehl verwenden, um nur den Container mit dem Namen „admiring_benz“ anzuzeigen :
`docker ps --filter "name=admiring_benz"`

Filtern nach Status: Sie können die Ausgabe basierend auf verschiedenen Containerstatus filtern, z. B. „beendet“, „erstellt“ oder „wird ausgeführt“.
Sie können beispielsweise die folgenden Befehle verwenden, um Container nach ihrem Status zu filtern:
- `docker ps --filter "status=running"`
- `docker ps --filter "status=exited"`
- `docker ps --filter "status=created"`

Filtern nach Label: Sie können mehrere Filter auf die Ausgabe anwenden, indem Sie das Schlüsselwort `–filter` sowohl für das Statusattribut als auch für die Labelbedingungen verwenden. Um beispielsweise Container basierend auf dem Status „erstellt“ und einem bestimmten Label zu filtern, können Sie den folgenden Befehl verwenden:
`docker ps --filter "status=created" --filter "label=com.example.version=1.0"`

Fazit
Der Befehl `docker ps` listet alle laufenden Container auf. Durch die Kombination von `docker ps` mit verschiedenen Optionen wie `docker ps -n 5` , `docker ps -l` , `docker ps -a` und `docker ps -q` lässt sich die Ausgabe anpassen, um die neuesten Container anzuzeigen, nur die Container-IDs darzustellen oder Container in verschiedenen Zuständen (z. B. laufend, gestoppt oder erstellt) aufzulisten.
Sie können das Ausgabeformat auch mit der Option `--format` und einer Go-Vorlage anpassen, um die Containerinformationen auf eine bestimmte Weise anzuzeigen (z. B. `docker ps --format "TEMPLATE"`) . Erweiterte Filter lassen sich mit der Option `--filter` anwenden , um Container anhand bestimmter Attribute anzuzeigen.
Zusätzlich können die tatsächlichen und virtuellen Größen der Container in einer weiteren Spalte angezeigt werden, indem man das Schlüsselwort `--size` mit dem Befehl `docker ps` verwendet (z. B. `docker ps --size`).

