Untersuchung von Container-Details
Docker bietet leistungsstarke Tools zur Untersuchung der Details Ihrer Container. Lassen Sie uns diese erkunden.
Um detaillierte Informationen über einen Container zu erhalten, verwenden Sie den inspect
-Befehl:
docker inspect nginx-detached
Dieser Befehl gibt ein JSON-Array mit detaillierten Informationen über den Container aus. Dies kann überwältigend sein, also verwenden wir einen Filter, um spezifische Informationen zu erhalten.
Um die IP-Adresse des Containers zu erhalten:
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx-detached
Um den aktuellen Zustand des Containers anzuzeigen:
docker inspect -f '{{.State.Status}}' nginx-detached
Diese Befehle verwenden Go-Templates, um die Ausgabe zu filtern. Die -f
-Option ermöglicht es uns, ein Format-Template anzugeben.
Lassen Sie uns auch die Portzuordnungen (Port mappings) überprüfen:
docker port nginx-detached
Portzuordnungen ermöglichen es Containern, mit dem Host-System oder externen Netzwerken zu kommunizieren. Sie ordnen einen Port auf dem Host-System einem Port innerhalb des Containers zu. Dies ist entscheidend für den Zugriff auf Dienste, die innerhalb von Containern laufen, von außerhalb der Docker-Umgebung.
Wenn keine Ports zugeordnet sind, erzeugt dieser Befehl keine Ausgabe. In unserem Fall haben wir keine Ports für den nginx-detached
-Container explizit zugeordnet, also sehen Sie wahrscheinlich keine Ausgabe.
Um die Portzuordnung zu demonstrieren, erstellen wir einen neuen Nginx-Container mit einer Portzuordnung:
docker run -d --name nginx-with-port -p 8080:80 nginx
Dieser Befehl ordnet Port 8080 auf dem Host Port 80 im Container zu. Wenn wir nun die Portzuordnungen überprüfen:
docker port nginx-with-port
Sie sollten eine Ausgabe ähnlich wie die folgende sehen:
80/tcp -> 0.0.0.0:8080
Dies bedeutet, dass Datenverkehr an Port 8080 auf Ihrer Hostmaschine an Port 80 im Container weitergeleitet wird, wo Nginx lauscht.