Prüfen des benutzerdefinierten Netzwerks mit einer Go-Vorlage
In diesem Schritt lernen Sie, wie Sie Go-Vorlagen (Go templates) mit dem Befehl docker network inspect
verwenden, um spezifische Informationen aus der Netzwerkkonfiguration zu extrahieren. Dies ist nützlich, wenn Sie nur bestimmte Details benötigen und nicht das gesamte JSON-Output parsen möchten.
Die Option -f
oder --format
ermöglicht es Ihnen, eine Go-Vorlage anzugeben. Die Vorlage verwendet die Go-Vorlagensyntax, um auf Felder innerhalb des JSON-Outputs zuzugreifen.
Angenommen, Sie möchten nur die ID und den Treiber (driver) des Netzwerks sehen. Sie können die folgende Vorlage verwenden: {{.Id}} {{.Driver}}
.
Führen Sie den folgenden Befehl aus, um my-custom-network
zu prüfen und die Ausgabe mit dieser Vorlage zu formatieren:
docker network inspect -f '{{.Id}} {{.Driver}}' my-custom-network
Die Ausgabe wird die Netzwerk-ID gefolgt vom Namen des Treibers sein, getrennt durch ein Leerzeichen.
Sie können auch auf verschachtelte Felder zugreifen. Beispielsweise können Sie die Vorlage {{.IPAM.Config}}
verwenden, um das Subnetz aus der IPAM-Konfiguration zu erhalten. Da IPAM.Config
eine Liste ist, müssen Sie möglicherweise durch diese iterieren oder auf ein bestimmtes Element zugreifen, wenn es mehrere Konfigurationen gibt. Der Einfachheit halber nehmen wir an, dass es nur eine Konfiguration gibt, und greifen auf das Subnet
-Feld innerhalb des ersten Elements der Config
-Liste zu: {{(index .IPAM.Config 0).Subnet}}
.
Versuchen wir, das Netzwerk zu prüfen und den Netzwerknamen und das Subnetz anzuzeigen:
docker network inspect -f 'Name: {{.Name}}, Subnet: {{(index .IPAM.Config 0).Subnet}}' my-custom-network
Dieser Befehl gibt den Netzwerknamen und sein Subnetz in einem lesbareren Format aus.
Die Verwendung von Go-Vorlagen bietet eine leistungsstarke Möglichkeit, die Ausgabe von Docker-Befehlen anzupassen und genau die Informationen zu extrahieren, die Sie benötigen.