Verwendung des docker compose images Befehls zur Image-Auflistung

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 images verwenden, um die Docker-Images aufzulisten, die von den Diensten in einer docker-compose.yml-Datei verwendet werden. Wir beginnen mit der Vorbereitung einer einfachen docker-compose.yml-Datei und starten dann die Dienste mit dem Befehl docker compose up.

Anschließend untersuchen wir verschiedene Möglichkeiten, die Images aufzulisten. Sie lernen, wie Sie alle von den Containern verwendeten Images anzeigen, wie Sie nur die Image-IDs mit der Quiet-Option auflisten und wie Sie die Images im JSON-Format für eine einfachere Verarbeitung ausgeben. Diese praktische Übung vermittelt Ihnen wertvolle Fähigkeiten für die Verwaltung von Images in Ihren Docker-Compose-Projekten.


Skills Graph

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

Vorbereitung einer einfachen docker-compose.yml-Datei

In diesem Schritt bereiten wir eine einfache docker-compose.yml-Datei vor. Bevor wir beginnen, müssen wir Docker Compose installieren. Docker Compose ist ein Tool zum Definieren und Ausführen von Multi-Container-Docker-Anwendungen. Mit Compose verwenden Sie eine YAML-Datei, um die Dienste Ihrer Anwendung zu konfigurieren. Anschließend können Sie mit einem einzigen Befehl alle Dienste aus Ihrer Konfiguration erstellen und starten.

Zuerst installieren wir Docker Compose. Wir laden die Docker-Compose-Binärdatei 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

Nun überprüfen wir die Installation, indem wir die Version von Docker Compose abfragen.

docker-compose --version

Sie sollten eine Ausgabe ähnlich zu Docker Compose version v2.20.2 sehen.

Als Nächstes erstellen wir ein Verzeichnis für unser Projekt und wechseln hinein.

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

Jetzt erstellen wir eine docker-compose.yml-Datei mit dem nano-Editor. Diese Datei definiert einen einfachen Webdienst mit dem nginx-Image.

nano docker-compose.yml

Fügen Sie im nano-Editor folgenden Inhalt ein:

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

Lassen Sie uns diese docker-compose.yml-Datei analysieren:

  • version: '3.8' gibt die Version des Compose-Dateiformats an.
  • services: definiert die Dienste für unsere Anwendung.
  • web: ist der Name unseres Dienstes.
  • image: nginx:latest spezifiziert das Docker-Image für diesen Dienst. Hier verwenden wir die neueste Version des nginx-Images.
  • ports: mappt Ports zwischen Host und Container. "80:80" mappt Port 80 auf dem Host zu Port 80 im Container.

Speichern Sie die Datei mit Strg + X, dann Y und anschließend Enter.

Bevor wir den Dienst starten, müssen wir das nginx:latest-Image herunterladen.

docker pull nginx:latest

Dieser Befehl lädt das nginx:latest-Image von Docker Hub herunter.

Starten der in der docker-compose.yml-Datei definierten Dienste

In diesem Schritt starten wir die in unserer docker-compose.yml-Datei definierten Dienste. Wir verwenden den Befehl docker-compose up, um die Dienste zu erstellen und zu starten.

Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project/my-docker-app befinden, in dem Sie die docker-compose.yml-Datei erstellt haben.

cd ~/project/my-docker-app

Führen Sie nun folgenden Befehl aus, um die Dienste im Detached-Modus (im Hintergrund) zu starten.

docker-compose up -d

Die Option -d startet die Container im Detached-Modus, was bedeutet, dass sie im Hintergrund laufen und Ihr Terminal nicht blockieren.

Sie sollten eine Ausgabe sehen, die anzeigt, dass der web-Dienst erstellt und gestartet wird.

Um zu überprüfen, ob der Container läuft, können Sie den Befehl docker ps verwenden.

docker ps

Sie sollten einen Container namens my-docker-app-web-1 (oder ähnlich, abhängig vom Projektverzeichnisnamen) mit dem nginx-Image sehen, dessen Status Up sein sollte.

Wir können auch überprüfen, ob der Webserver erreichbar ist, indem wir curl verwenden, um auf localhost Port 80 zuzugreifen.

curl http://localhost:80

Sie sollten die HTML-Ausgabe der standardmäßigen Nginx-Willkommensseite in Ihrem Terminal sehen, was bestätigt, dass der Webserver läuft und erreichbar ist.

Auflisten der von den erstellten Containern verwendeten Images

In diesem Schritt listen wir die Docker-Images auf, die sich aktuell auf unserem System befinden, mit besonderem Fokus auf das Image, das von dem gerade erstellten Container verwendet wird. Der Befehl docker images dient zum Auflisten der Images.

Führen Sie folgenden Befehl aus, um alle Images aufzulisten:

docker images

Sie sollten eine Tabelle mit Informationen zu den Images sehen, einschließlich REPOSITORY, TAG, IMAGE ID, CREATED und SIZE. Hier sollte das nginx-Image aufgeführt sein.

Die Ausgabe zeigt die Images, die auf Ihr System heruntergeladen oder erstellt wurden. Das nginx-Image wurde im vorherigen Schritt heruntergeladen und wird nun vom laufenden Container verwendet.

Nur Image-IDs mit der Quiet-Option auflisten

In diesem Schritt lernen wir, wie man nur die Image-IDs mit dem Befehl docker images und der Quiet-Option auflistet. Dies ist nützlich, wenn Sie eine Liste von Image-IDs für Skripte oder andere Zwecke benötigen.

Die Quiet-Option wird mit dem Flag -q angegeben.

Führen Sie folgenden Befehl aus, um nur die Image-IDs aufzulisten:

docker images -q

Sie sollten eine Liste von Image-IDs sehen, jeweils eine pro Zeile. Diese Ausgabe ist wesentlich kompakter als die vollständige Ausgabe von docker images.

Diese Option ist besonders hilfreich, wenn Sie die Liste der Images programmatisch verarbeiten möchten, zum Beispiel um alte Images zu entfernen.

Images im JSON-Format auflisten

In diesem Schritt lernen wir, wie Docker-Images im JSON-Format aufgelistet werden. Dies ist nützlich, wenn Sie die Ausgabe programmatisch mit Tools wie jq verarbeiten möchten.

Wir können die Option --format mit dem Befehl docker images verwenden, um das Ausgabeformat zu spezifizieren. Für die JSON-Ausgabe nutzen wir das Schlüsselwort json.

Führen Sie folgenden Befehl aus, um Images im JSON-Format aufzulisten:

docker images --format json

Sie erhalten die Ausgabe im JSON-Format, das eine strukturierte Darstellung der Image-Informationen bietet. Jedes Image wird als JSON-Objekt innerhalb eines JSON-Arrays dargestellt.

Dieses Format eignet sich ideal für die Integration von Docker-Image-Informationen in Skripte oder andere Anwendungen, die JSON-Daten verarbeiten können.

Nach Abschluss dieses Schritts können Sie den laufenden Container stoppen und das Projektverzeichnis entfernen, falls gewünscht.

Um den Container zu stoppen, navigieren Sie zurück zum Verzeichnis ~/project/my-docker-app und führen aus:

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

Dieser Befehl stoppt und entfernt die Container, Netzwerke und Volumes, die durch docker-compose up erstellt wurden.

Um das Projektverzeichnis zu entfernen, können Sie den rm-Befehl verwenden:

cd ~/project
rm -rf my-docker-app

Zusammenfassung

In diesem Lab haben wir gelernt, wie der Befehl docker compose images verwendet wird, um Images aufzulisten, die von Services in einer docker-compose.yml-Datei genutzt werden. Wir begannen mit der Vorbereitung einer einfachen docker-compose.yml-Datei, die einen Web-Service mit dem nginx-Image definiert, inklusive der Installation von Docker Compose und der Erstellung der erforderlichen Verzeichnisstruktur.

Anschließend starteten wir die in der docker-compose.yml-Datei definierten Services. Abschließend untersuchten wir verschiedene Möglichkeiten, die von den erstellten Containern verwendeten Images aufzulisten, darunter die Anzeige aller Image-Details, die ausschließliche Auflistung von Image-IDs mittels der Quiet-Option sowie die Darstellung der Images im JSON-Format.