Verwendung des docker compose ls Befehls zur Auflistung von Compose-Projekten

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie den Befehl docker compose ls effektiv nutzen können, um Ihre Docker Compose-Projekte aufzulisten und zu verwalten. Wir beginnen mit der Einrichtung eines Beispiel-Compose-Projekts, einschließlich der Installation von Docker Compose (falls erforderlich), der Erstellung einer docker-compose.yml-Datei und dem Starten des Projekts.

Nach der Projekteinrichtung werden Sie verschiedene Möglichkeiten erkunden, um Ihre Compose-Projekte mit docker compose ls aufzulisten. Dazu gehört das Auflisten nur laufender Projekte, das Auflisten aller Projekte (einschließlich beendeter), die Anzeige nur von Projektnamen und das Filtern von Projekten basierend auf bestimmten Kriterien. Am Ende dieses Labs werden Sie in der Lage sein, docker compose ls sicher zu verwenden, um einen Überblick über Ihre Compose-Umgebungen zu erhalten.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") subgraph Lab Skills docker/ls -.-> lab-555083{{"Verwendung des docker compose ls Befehls zur Auflistung von Compose-Projekten"}} docker/ps -.-> lab-555083{{"Verwendung des docker compose ls Befehls zur Auflistung von Compose-Projekten"}} docker/pull -.-> lab-555083{{"Verwendung des docker compose ls Befehls zur Auflistung von Compose-Projekten"}} end

Ein Beispiel-Compose-Projekt starten

In diesem Schritt lernen wir, wie man ein Beispiel-Compose-Projekt startet. Bevor wir Docker Compose verwenden können, müssen wir es installieren. Da die LabEx-VM-Umgebung Docker Compose nicht vorinstalliert hat, werden wir es zuerst installieren.

Wir laden die Docker Compose-Binary herunter und machen sie ausführbar.

sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Nach der Installation können wir diese überprüfen, indem wir die Version von Docker Compose abfragen.

docker-compose --version

Sie sollten die Versionsinformationen in der Konsole sehen, was bestätigt, dass Docker Compose korrekt installiert ist.

Nun erstellen wir ein einfaches Compose-Projekt. Wir legen ein Verzeichnis für unser Projekt an und erstellen darin eine docker-compose.yml-Datei. Diese Datei definiert die Services für unsere Anwendung.

Zuerst erstellen wir ein Verzeichnis namens my-compose-app.

mkdir ~/project/my-compose-app
cd ~/project/my-compose-app

Als nächstes erstellen wir im Verzeichnis ~/project/my-compose-app eine Datei namens docker-compose.yml mit dem nano-Editor.

nano docker-compose.yml

Fügen Sie folgenden Inhalt in die docker-compose.yml-Datei ein. Diese Datei definiert einen einzelnen Service namens web, der das nginx-Image verwendet.

version: "3.8"
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"

Speichern Sie die Datei und beenden Sie den nano-Editor (Drücken Sie Strg + X, dann Y, dann Enter).

Bevor wir den Service starten, müssen wir sicherstellen, dass das nginx:latest-Image lokal verfügbar ist. Wir können das Image mit dem docker pull-Befehl herunterladen.

docker pull nginx:latest

Nun, da wir die docker-compose.yml-Datei und das benötigte Image haben, können wir das Compose-Projekt mit dem Befehl docker-compose up starten. Das Flag -d führt die Services im Detached-Modus aus, d.h. sie laufen im Hintergrund.

docker-compose up -d

Dieser Befehl erstellt und startet den web-Service, wie in der docker-compose.yml-Datei definiert. Sie sollten eine Ausgabe sehen, die anzeigt, dass der Service erstellt und gestartet wird.

Um zu überprüfen, ob der Service läuft, können Sie den Befehl docker ps verwenden, um die laufenden Container aufzulisten. Sie sollten einen Container für den web-Service sehen.

docker ps

Sie können auch auf den Nginx-Webserver zugreifen, indem Sie einen Webbrowser öffnen und die IP-Adresse Ihrer LabEx-VM aufrufen. Da wir Port 80 des Containers auf Port 80 des Hosts gemappt haben, sollten Sie die Standard-Nginx-Willkommensseite sehen.

Laufende Compose-Projekte mit docker compose ls auflisten

Im vorherigen Schritt haben wir ein Beispiel-Compose-Projekt namens my-compose-app gestartet. Nun lernen wir, wie man laufende Compose-Projekte mit dem Befehl docker compose ls auflistet.

Der Befehl docker compose ls dient dazu, alle Compose-Projekte aufzulisten. Standardmäßig zeigt er nur laufende Projekte an.

Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project/my-compose-app befinden, wo sich Ihre docker-compose.yml-Datei befindet.

cd ~/project/my-compose-app

Führen Sie nun den Befehl docker compose ls aus.

docker compose ls

Sie sollten eine ähnliche Ausgabe wie diese sehen:

NAME              STATUS    CONFIG FILES
my-compose-app    running   docker-compose.yml

Diese Ausgabe zeigt, dass ein laufendes Compose-Projekt namens my-compose-app existiert, das die Konfigurationsdatei docker-compose.yml verwendet.

Der Befehl docker compose ls bietet eine schnelle Möglichkeit zu sehen, welche Ihrer Compose-Projekte aktuell aktiv sind und Container ausführen.

Alle Compose-Projekte inklusive gestoppter mit docker compose ls -a auflisten

Im vorherigen Schritt haben wir laufende Compose-Projekte aufgelistet. Standardmäßig zeigt docker compose ls nur Projekte an, die mindestens einen laufenden Container haben. Um alle Compose-Projekte anzuzeigen, inklusive der gestoppten, müssen wir das -a Flag verwenden.

Zuerst stoppen wir das Projekt my-compose-app, das wir im ersten Schritt gestartet haben. Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project/my-compose-app befinden.

cd ~/project/my-compose-app

Stoppen Sie nun das Projekt mit dem Befehl docker-compose down. Dieser Befehl beendet und entfernt die Container, Netzwerke und Volumes, die durch docker-compose up erstellt wurden.

docker-compose down

Sie sollten eine Ausgabe sehen, die anzeigt, dass die Services und Ressourcen gestoppt und entfernt werden.

Da das Projekt nun gestoppt ist, versuchen wir erneut, die Compose-Projekte mit dem Standardbefehl docker compose ls aufzulisten.

docker compose ls

Diesmal sollte das Projekt my-compose-app nicht aufgelistet werden, da es gestoppt ist.

Verwenden wir nun den Befehl docker compose ls -a, um alle Compose-Projekte inklusive der gestoppten aufzulisten.

docker compose ls -a

Sie sollten nun eine ähnliche Ausgabe wie diese sehen:

NAME              STATUS     CONFIG FILES
my-compose-app    exited     docker-compose.yml

Diese Ausgabe zeigt, dass das Projekt my-compose-app existiert, auch wenn sein Status exited (gestoppt) ist. Das -a Flag ist nützlich, um alle auf Ihrem System definierten Compose-Projekte unabhängig von ihrem aktuellen Status anzuzeigen.

Nur Projektnamen mit docker compose ls -q auflisten

In den vorherigen Schritten haben wir Compose-Projekte mit ihrem Status und Konfigurationsdateien aufgelistet. Manchmal benötigen Sie jedoch nur eine Liste der Projektnamen, beispielsweise für die Verwendung in einem Skript. Der Befehl docker compose ls -q ermöglicht genau dies.

Das -q Flag steht für "quiet" (leise) und unterdrückt alle Ausgaben außer den Projektnamen.

Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project/my-compose-app befinden.

cd ~/project/my-compose-app

Führen Sie nun den Befehl docker compose ls -q aus.

docker compose ls -q

Sie sollten nur den Namen des Compose-Projekts in der Konsole sehen:

my-compose-app

Dies ist nützlich, wenn Sie eine saubere Liste von Projektnamen ohne zusätzliche Informationen benötigen. Sie können das -q Flag mit dem -a Flag kombinieren, um die Namen aller Compose-Projekte inklusive gestoppter Projekte aufzulisten.

Probieren wir das aus:

docker compose ls -a -q

Sie sollten weiterhin sehen:

my-compose-app

Dies bestätigt, dass das -q Flag nur die Projektnamen ausgibt, unabhängig davon, ob das Projekt läuft oder gestoppt ist, wenn es mit -a kombiniert wird.

Compose-Projekte mit docker compose ls --filter filtern

In diesem letzten Schritt untersuchen wir, wie die Ausgabe von docker compose ls mit dem --filter Flag gefiltert werden kann. Dies ist besonders nützlich, wenn Sie viele Compose-Projekte haben und bestimmte Projekte nach bestimmten Kriterien finden möchten.

Das --filter Flag ermöglicht es Ihnen, Schlüssel-Wert-Paare zur Filterung der Ergebnisse anzugeben. Ein gängiger Filter ist nach status.

Zuerst stellen wir sicher, dass unser Projekt my-compose-app gestoppt ist. Wir haben es im vorherigen Schritt gestoppt, aber es ist eine gute Praxis, dies zu bestätigen.

cd ~/project/my-compose-app
docker-compose down

Nun verwenden wir das --filter Flag, um nur laufende Compose-Projekte anzuzeigen. Da unser Projekt gestoppt ist, sollte dieser Befehl keine Ergebnisse anzeigen.

docker compose ls --filter status=running

Sie sollten keine Ausgabe sehen, da keine laufenden Compose-Projekte vorhanden sind.

Jetzt verwenden wir das --filter Flag, um nur gestoppte Compose-Projekte anzuzeigen.

docker compose ls --filter status=exited

Sie sollten eine ähnliche Ausgabe wie diese sehen:

NAME              STATUS     CONFIG FILES
my-compose-app    exited     docker-compose.yml

Dies zeigt, dass das Projekt my-compose-app aufgelistet wird, da sein Status exited ist.

Sie können auch nach anderen Kriterien filtern, wie z.B. dem Projektnamen (name). Filtern wir nach dem Projekt mit dem Namen my-compose-app.

docker compose ls --filter name=my-compose-app

Dies sollte ebenfalls das Projekt my-compose-app anzeigen:

NAME              STATUS     CONFIG FILES
my-compose-app    exited     docker-compose.yml

Das --filter Flag bietet eine leistungsstarke Möglichkeit, Ihre Compose-Projekte zu verwalten und anzuzeigen, insbesondere in Umgebungen mit vielen verschiedenen Anwendungen, die durch Compose-Dateien definiert sind.

Zusammenfassung

In diesem Lab haben wir gelernt, wie der Befehl docker compose ls verwendet wird, um Docker Compose-Projekte aufzulisten. Wir begannen mit der Installation von Docker Compose und erstellten anschließend ein Beispielprojekt mithilfe einer docker-compose.yml-Datei und des Befehls docker-compose up -d.

Danach haben wir die verschiedenen Optionen des docker compose ls-Befehls untersucht. Wir nutzten:

  • docker compose ls zur Auflistung laufender Projekte
  • docker compose ls -a zur Anzeige aller Projekte (inklusive gestoppter)
  • docker compose ls -q für eine reine Namensliste der Projekte
  • docker compose ls --filter zur Filterung von Projekten nach bestimmten Kriterien

Diese Schritte demonstrierten die Vielseitigkeit des docker compose ls-Befehls für die Verwaltung und Inspektion von Compose-Projekten.