Einführung
In diesem Lab lernen Sie, wie Sie den Befehl docker search effektiv nutzen können, um Container-Images auf Docker Hub zu finden. Sie beginnen damit, grundlegende Suchanfragen nach Images anhand des Namens durchzuführen.
Basierend auf der grundlegenden Suche werden Sie dann Optionen erkunden, um die vollständigen, nicht abgeschnittenen Beschreibungen der Suchergebnisse anzuzeigen. Darüber hinaus lernen Sie, wie Sie Ihre Suchanfragen verfeinern können, indem Sie die Ergebnisse anhand von Kriterien wie der Anzahl der Sterne und dem offiziellen Status filtern. Schließlich entdecken Sie, wie Sie die Anzahl der angezeigten Ergebnisse beschränken und die Suchausgabe mithilfe einer Go-Vorlage (Go template) formatieren können, um eine maßgeschneiderte Ansicht zu erhalten.
Suche auf Docker Hub nach Images anhand des Namens
In diesem Schritt lernen Sie, wie Sie mithilfe des Befehls docker search nach Docker-Images auf Docker Hub suchen können. Docker Hub ist ein cloudbasierter Registrierungsdienst (registry service), der von Docker bereitgestellt wird und es Ihnen ermöglicht, Container-Images zu finden und zu teilen.
Die grundlegende Syntax für den docker search-Befehl lautet:
docker search [OPTIONS] TERM
Hierbei ist TERM der Suchbegriff, den Sie verwenden möchten, um Images zu finden.
Beginnen wir damit, nach Images zu suchen, die sich auf "ubuntu" beziehen. Öffnen Sie Ihr Terminal in der LabEx-Umgebung und führen Sie den folgenden Befehl aus:
docker search ubuntu
Sie sollten eine Liste von Images sehen, die sich auf Ubuntu beziehen. Die Ausgabe enthält in der Regel den Namen des Images, die Beschreibung, die Sterne (Anzahl der Likes), den offiziellen Status und den Status des automatisierten Builds.
Die Ausgabe könnte in etwa so aussehen (die genaue Ausgabe kann variieren):
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys... 15000 [OK]
ubuntu-upstart Upstart is an event-based replacement for th... 50 [OK]
ubuntu/apache2 Apache2 web server 60 [OK]
ubuntu/nginx Nginx web server 50 [OK]
...
Dieser Befehl sucht auf Docker Hub nach Images, deren Namen oder Beschreibungen dem Begriff "ubuntu" entsprechen. Die Ergebnisse werden in Tabellenform angezeigt.
Zeige die nicht abgeschnittene Beschreibung der Suchergebnisse an
Im vorherigen Schritt haben Sie nach Docker-Images gesucht und festgestellt, dass die Beschreibungssäule möglicherweise abgeschnitten war, was bedeutet, dass die vollständige Beschreibung nicht angezeigt wurde. Um die vollständige Beschreibung anzuzeigen, können Sie die Option --no-trunc mit dem docker search-Befehl verwenden.
Suchen wir erneut nach "ubuntu", aber diesmal verwenden wir die Option --no-trunc, um die vollständige Beschreibung anzuzeigen.
docker search --no-trunc ubuntu
Beobachten Sie die Ausgabe. Sie sollten jetzt die vollständige Beschreibung für jedes Image sehen, ohne dass etwas abgeschnitten ist. Dies ist hilfreich, wenn Sie die vollständigen Details zu einem Image lesen müssen, bevor Sie entscheiden, es zu verwenden.
Die Option --no-trunc ist nützlich, um die vollständigen Informationen in der Ausgabe verschiedener Docker-Befehle zu erhalten, nicht nur bei docker search.
Filtere Suchergebnisse nach Sternen und offizieller Status
In diesem Schritt lernen Sie, wie Sie die Suchergebnisse anhand von Kriterien wie der Anzahl der Sterne und ob das Image offiziell ist, filtern können. Dies hilft Ihnen, relevantere und vertrauenswürdige Images zu finden.
Sie können die Option --filter verwenden, um Filter auf Ihre Suche anzuwenden. Die Option --filter erwartet ein Schlüssel-Wert-Paar (key=value pair).
Um nach der Anzahl der Sterne zu filtern, verwenden Sie den Schlüssel stars gefolgt von der Mindestanzahl der Sterne, die Sie wünschen. Beispielsweise, um Ubuntu-Images mit mindestens 1000 Sternen zu finden, führen Sie folgenden Befehl aus:
docker search --filter stars=1000 ubuntu
Beobachten Sie die Ausgabe. Sie sollten jetzt nur Ubuntu-Images sehen, die 1000 oder mehr Sterne haben.
Sie können auch nach offiziellen Images filtern, indem Sie den Schlüssel is-official mit dem Wert true verwenden. Offizielle Images werden von Docker oder den ursprünglichen Softwareherstellern gepflegt und werden im Allgemeinen als zuverlässiger angesehen.
Um offizielle Ubuntu-Images zu finden, verwenden Sie folgenden Befehl:
docker search --filter is-official=true ubuntu
Die Ausgabe zeigt nur die offiziellen Ubuntu-Images.
Sie können mehrere Filter kombinieren, indem Sie die Option --filter mehrmals verwenden. Beispielsweise, um offizielle Ubuntu-Images mit mindestens 1000 Sternen zu finden, würden Sie folgenden Befehl verwenden:
docker search --filter is-official=true --filter stars=1000 ubuntu
Dieser Befehl schränkt die Ergebnisse ein, um nur offizielle Ubuntu-Images anzuzeigen, die mindestens 1000 Sterne erhalten haben.
Begrenze die Anzahl der Suchergebnisse
In diesem Schritt lernen Sie, wie Sie die Anzahl der von dem Befehl docker search angezeigten Suchergebnisse begrenzen können. Dies ist nützlich, wenn Sie nach einem breiten Begriff suchen und nur die besten Ergebnisse sehen möchten.
Sie können die Option --limit verwenden, um die maximale Anzahl der anzuzeigenden Ergebnisse anzugeben. Die Option --limit erwartet einen ganzzahligen Wert.
Beispielsweise, um nach "ubuntu" zu suchen und die Ergebnisse auf die besten 5 zu begrenzen, führen Sie folgenden Befehl aus:
docker search --limit 5 ubuntu
Beobachten Sie die Ausgabe. Sie sollten jetzt maximal 5 Ergebnisse für Ihre Suchanfrage sehen.
Sie können die Option --limit mit anderen Optionen wie --filter und --no-trunc kombinieren. Beispielsweise, um die besten 3 offiziellen Ubuntu-Images mit mindestens 1000 Sternen zu finden und deren vollständige Beschreibungen anzuzeigen, würden Sie folgenden Befehl verwenden:
docker search --filter is-official=true --filter stars=1000 --limit 3 --no-trunc ubuntu
Dieser Befehl zeigt, wie Sie verschiedene Optionen kombinieren können, um Ihre Suche zu verfeinern und die Ausgabe zu steuern.
Formatiere die Suchausgabe mit einer Go-Vorlage
In diesem Schritt lernen Sie, wie Sie die Ausgabe des Befehls docker search mithilfe einer Go-Vorlage formatieren können. Dies ermöglicht es Ihnen, die angezeigten Informationen und deren Darstellung anzupassen.
Die Option --format erlaubt es Ihnen, eine Go-Vorlage anzugeben, um die Ausgabe zu formatieren. Go-Vorlagen sind leistungsstark und flexibel für die Steuerung der Ausgabe.
Lassen Sie uns die Ausgabe so formatieren, dass nur der Name des Images und die Anzahl der Sterne, getrennt durch einen Tabulator, angezeigt werden. Die Vorlage sieht wie folgt aus: {{.Name}}\t{{.Stars}}.
Führen Sie folgenden Befehl aus, um nach "ubuntu" zu suchen und die Ausgabe zu formatieren:
docker search --format "{{.Name}}\t{{.Stars}}" ubuntu
Sie sollten eine Liste sehen, in der jede Zeile den Namen des Images, gefolgt von einem Tabulator und der Anzahl der Sterne, enthält.
Versuchen wir eine etwas komplexere Vorlage, um den Namen, den offiziellen Status und die Beschreibung, jeweils in einer neuen Zeile, anzuzeigen. Die Vorlage lautet Name: {{.Name}}\nOfficial: {{.IsOfficial}}\nDescription: {{.Description}}\n.
docker search --format "Name: {{.Name}}\nOfficial: {{.IsOfficial}}\nDescription: {{.Description}}\n" --limit 3 ubuntu
Dieser Befehl zeigt den Namen, den offiziellen Status und die Beschreibung der besten 3 Ubuntu-Images an, wobei jede Information in einer separaten Zeile steht. Wir haben auch die Option --limit 3 hinzugefügt, um die Ausgabe kompakt zu halten.
Die Verwendung von Go-Vorlagen bietet eine leistungsstarke Möglichkeit, die spezifischen Informationen, die Sie benötigen, aus den docker search-Ergebnissen zu extrahieren und darzustellen.
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie den Befehl docker search nutzen können, um Docker-Images auf Docker Hub zu finden. Sie haben begonnen, indem Sie eine grundlegende Suche nach Images anhand des Namens durchgeführt haben und sich die Standardausgabeformatierung, einschließlich Name, Beschreibung, Sterne, offizieller Status und automatisiertem Build-Status (automated build status), angesehen haben.
Anschließend haben Sie untersucht, wie Sie die vollständigen, nicht abgeschnittenen Beschreibungen der Suchergebnisse mithilfe der Option --no-trunc anzeigen können. Darüber hinaus haben Sie gelernt, wie Sie Ihre Suchanfragen verfeinern können, indem Sie die Ergebnisse anhand der Anzahl der Sterne und des offiziellen Status filtern und wie Sie die Anzahl der angezeigten Ergebnisse beschränken können. Schließlich haben Sie entdeckt, wie Sie die Ausgabeformatierung der Suchergebnisse mithilfe einer Go-Vorlage (Go template) anpassen können.



