Wie man den docker container top Befehl verwendet, um Container-Prozesse anzuzeigen

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 container top verwenden, um die Prozesse in einem Docker-Container zu untersuchen. Sie beginnen damit, einen einfachen Container zu starten, um eine laufende Umgebung zu haben.

Anschließend nutzen Sie den Befehl docker container top, um die aktiven Prozesse innerhalb des Containers anzuzeigen. Abschließend erforschen Sie, wie Sie docker container top mit verschiedenen ps-Optionen verwenden können, um die Ausgabe anzupassen und detailliertere Informationen über die Container-Prozesse zu erhalten.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/top("Display Running Processes in Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") subgraph Lab Skills docker/run -.-> lab-555125{{"Wie man den docker container top Befehl verwendet, um Container-Prozesse anzuzeigen"}} docker/ps -.-> lab-555125{{"Wie man den docker container top Befehl verwendet, um Container-Prozesse anzuzeigen"}} docker/top -.-> lab-555125{{"Wie man den docker container top Befehl verwendet, um Container-Prozesse anzuzeigen"}} docker/pull -.-> lab-555125{{"Wie man den docker container top Befehl verwendet, um Container-Prozesse anzuzeigen"}} end

Starten eines einfachen Containers

In diesem Schritt lernen Sie, wie Sie einen einfachen Docker-Container starten. Docker-Container sind leichtgewichtige, portable und eigenständige Einheiten, die alles enthalten, was zum Ausführen einer Anwendung benötigt wird.

Zuerst laden wir das hello-world-Image von Docker Hub. Dies ist ein sehr kleines Image, das häufig verwendet wird, um zu testen, ob Docker korrekt funktioniert.

docker pull hello-world

Sie sollten eine Ausgabe sehen, die anzeigt, dass das Image heruntergeladen und extrahiert wird.

Nun starten wir einen Container basierend auf dem hello-world-Image.

docker run hello-world

Wenn Sie diesen Befehl ausführen, erstellt Docker einen neuen Container aus dem hello-world-Image und führt den im Image definierten Befehl aus. Das hello-world-Image ist dafür konzipiert, einfach eine Nachricht auf der Konsole auszugeben und dann zu beenden.

Sie sollten eine ähnliche Ausgabe wie diese sehen:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To discover more examples and ideas, visit:
 https://docs.docker.com/get-started/

Diese Ausgabe bestätigt, dass Docker auf Ihrer LabEx-VM korrekt installiert und funktionsfähig ist. Der Befehl docker run hat einen Container erstellt und gestartet, der dann seine Aufgabe ausgeführt hat und beendet wurde.

Verwendung von docker container top zur Anzeige laufender Prozesse

In diesem Schritt lernen Sie, wie Sie den Befehl docker container top verwenden, um die laufenden Prozesse innerhalb eines Docker-Containers anzuzeigen. Dieser Befehl ähnelt dem top-Befehl auf einem Linux-System, zeigt jedoch speziell die Prozesse an, die innerhalb eines Containers ausgeführt werden.

Zuerst benötigen wir einen laufenden Container. Starten wir einen einfachen ubuntu-Container und halten ihn im Hintergrund aktiv. Wir verwenden das Flag -d, um den Container im Detached-Modus auszuführen, und den Befehl sleep infinity, um den Container am Leben zu erhalten.

docker run -d ubuntu sleep infinity

Sie sehen eine lange Zeichenfolge in der Konsole ausgegeben. Dies ist die Container-ID.

Nun verwenden wir docker container top gefolgt von der Container-ID oder dem Namen, um die Prozesse in diesem Container anzuzeigen. Die Container-ID erhalten Sie durch Ausführen von docker ps.

docker ps

Kopieren Sie die CONTAINER ID aus der Ausgabe. Ersetzen Sie dann <container_id> durch die tatsächliche ID im folgenden Befehl:

docker container top <container_id>

Sie sollten eine ähnliche Ausgabe wie diese sehen, die den sleep infinity-Prozess im Container anzeigt:

UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                7345                7331                0                   14:55               ?                   00:00:00            sleep infinity

Die Ausgabe zeigt Informationen über die Prozesse im angegebenen Container, einschließlich Benutzer-ID (UID), Prozess-ID (PID), Eltern-Prozess-ID (PPID), CPU-Auslastung (C), Startzeit (STIME), Steuerterminal (TTY), kumulative CPU-Zeit (TIME) und den ausgeführten Befehl (CMD). In diesem Fall ist der Hauptprozess sleep infinity.

Verwendung von docker container top mit ps-Optionen

In diesem Schritt lernen Sie, wie Sie den Befehl docker container top mit ps-Optionen verwenden, um die Ausgabe anzupassen und spezifische Prozessinformationen innerhalb eines Containers anzuzeigen. Der Befehl docker container top akzeptiert standardmäßige ps-Optionen, wodurch Sie steuern können, welche Spalten angezeigt werden und in welchem Format.

Stellen Sie zunächst sicher, dass Sie einen laufenden Container aus dem vorherigen Schritt haben. Dies können Sie mit docker ps überprüfen.

docker ps

Kopieren Sie die CONTAINER ID des laufenden ubuntu-Containers.

Nun verwenden wir docker container top mit einigen ps-Optionen. Um beispielsweise nur die Prozess-ID (pid) und den Befehl (cmd) anzuzeigen, können Sie die Option -o gefolgt von den gewünschten Spalten verwenden. Ersetzen Sie <container_id> durch Ihre Container-ID.

docker container top pid,cmd < container_id > -o

Sie sollten eine ähnliche Ausgabe wie diese sehen, die nur die PID- und CMD-Spalten anzeigt:

PID                 CMD
7345                sleep infinity

Sie können verschiedene ps-Optionen verwenden, um unterschiedliche Informationen zu erhalten. Um beispielsweise die CPU-Auslastung (%cpu) und Speichernutzung (%mem) anzuzeigen, können Sie folgenden Befehl verwenden:

docker container top pid,%cpu,%mem,cmd < container_id > -o

Die Ausgabe enthält dann die CPU- und Speicherauslastung der Prozesse im Container:

PID                 %CPU                %MEM                CMD
7345                0.0                 0.0                 sleep infinity

In der Dokumentation des ps-Befehls finden Sie eine vollständige Liste der verfügbaren Optionen. Die Verwendung von docker container top mit ps-Optionen bietet eine flexible Möglichkeit, die Prozesse in Ihren Containern zu überwachen und Probleme zu beheben.

Zusammenfassung

In diesem Lab haben Sie die grundlegenden Schritte zur Interaktion mit Docker-Containern gelernt. Sie begannen mit dem Herunterladen und Ausführen des einfachen hello-world-Images, das als Basistest für Ihre Docker-Installation diente und die grundlegenden Befehle docker pull sowie docker run demonstrierte. Dieser erste Schritt veranschaulichte, wie Docker Images abruft und Container erstellt, um vordefinierte Aufgaben auszuführen.

Anschließend wurden Sie mit dem Befehl docker container top vertraut gemacht. Obwohl der vollständige Inhalt nicht bereitgestellt wurde, deutet der Schritt-Titel darauf hin, dass Sie lernen würden, wie Sie diesen Befehl verwenden, um die innerhalb eines Containers laufenden Prozesse zu untersuchen - ähnlich wie beim top-Befehl in einer standardmäßigen Linux-Umgebung. Der letzte Schritt "Verwendung von docker container top mit ps-Optionen" deutet auf eine tiefergehende Erkundung der Fähigkeiten von docker container top hin, wobei wahrscheinlich gezeigt wird, wie die Ausgabe mit Optionen ähnlich denen des ps-Befehls angepasst werden kann.