Loading...

Wie man docker stats verwendet

Jonas Scholz - Co-Founder von sliplane.ioJonas Scholz
3 min

Lass uns über den docker stats Befehl sprechen. Das ist ein praktisches Tool, wenn du im Auge behalten willst, wie deine Docker Container Ressourcen wie CPU, Speicher und Netzwerk nutzen. Es zeigt dir einen Live-Stream von Statistiken, was bedeutet, dass die Informationen in Echtzeit aktualisiert werden.

Um docker stats zu nutzen, kannst du einfach docker stats in dein Terminal eingeben. Das zeigt dir die Statistiken für alle deine laufenden Container an. Wenn du Statistiken für bestimmte Container sehen willst, kannst du ihre Namen oder IDs nach dem Befehl auflisten, so: docker stats container1 container2.

Wenn du versuchst, die Statistiken eines gestoppten Containers zu überprüfen, werden keine Daten angezeigt, weil er, na ja, gestoppt ist! Aber du kannst trotzdem gestoppte Container in deinem Befehl mit einbeziehen, wenn du möchtest.

Für einen tieferen Einblick in die Ressourcennutzung eines Containers kannst du den /containers/(id)/stats API-Endpunkt verwenden. Das gibt dir detailliertere Informationen als der einfache docker stats Befehl.

Jetzt schauen wir uns einige Optionen an, die du mit docker stats verwenden kannst:

  1. -a, --all: Standardmäßig zeigt docker stats nur laufende Container an. Wenn du alle Container sehen willst, auch die gestoppten, verwende diese Option. Zum Beispiel: docker stats --all.
  2. --format: Damit kannst du anpassen, wie die Statistiken angezeigt werden. Du kannst zwischen Formaten wie 'table', 'json' oder sogar eigenen Templates wählen. Um beispielsweise die Statistiken im JSON-Format zu sehen, würdest du docker stats --format json verwenden.
  3. --no-stream: Normalerweise aktualisiert docker stats die Statistiken ständig in Echtzeit. Wenn du die Statistiken nur einmal sehen und dann stoppen willst, verwende diese Option. So: docker stats --no-stream.
  4. --no-trunc: Wenn du abgeschnittene Ausgaben siehst und die vollständigen Details sehen möchtest, verwende diese Option. Sie stellt sicher, dass nichts abgeschnitten wird. Zum Beispiel: docker stats --no-trunc.

Wenn du docker stats ohne Format-Angabe ausführst, werden dir mehrere Informationsspalten angezeigt:

  • CONTAINER ID und Name: Dies zeigt dir, für welchen Container die Statistiken gelten.
  • CPU % und MEM %: Diese zeigen, wie viel Prozent der CPU und des Speichers des Hosts der Container nutzt.
  • MEM USAGE / LIMIT: Dies zeigt, wie viel Speicher der Container verwendet und wie viel er maximal nutzen darf.
  • NET I/O: Dies zeigt, wie viel Daten der Container über das Netzwerk gesendet und empfangen hat.
  • BLOCK I/O: Dies zeigt, wie viel Daten der Container von Block-Geräten des Hosts gelesen und auf diese geschrieben hat.
  • PIDs: Dies ist die Anzahl der Prozesse oder Threads, die der Container erstellt hat.

Wenn du docker stats auf einem Linux-System verwendest, gibt es etwas zu beachten bezüglich der Speichernutzung. Der Befehl zieht die Cache-Nutzung von der Gesamtspeichernutzung ab, um dir ein klareres Bild zu geben. Wenn du jedoch die API verwendest, gibt sie dir die Gesamtspeichernutzung und die Cache-Nutzung separat, damit du deine eigenen Berechnungen anstellen kannst.

Außerdem zeigt auf Linux die PIDS-Spalte die Anzahl der Prozesse und Kernel-Threads an. Wenn du hier eine hohe Zahl siehst, aber eine niedrige Anzahl von Prozessen, wenn du Befehle wie ps oder top verwendest, könnte das bedeuten, dass etwas im Container viele Threads erstellt.

Für Windows-Nutzer funktioniert der stats-Befehl etwas anders, aber du kannst ihn trotzdem auf ähnliche Weise verwenden, um deine Container zu überwachen.

Um die Ausgabe von docker stats zu formatieren, kannst du die --format Option mit einem Go-Template verwenden. Damit kannst du genau auswählen, welche Informationen du sehen möchtest und wie sie angezeigt werden sollen. Wenn du zum Beispiel nur den Container-Namen und seine CPU-Nutzung sehen möchtest, könntest du ein Template wie {{.Name}}:{{.CPUPerc}} verwenden.

Denk daran, der docker stats Befehl ist ein mächtiges Werkzeug, um die Leistung deiner Container im Auge zu behalten. Ob du gerade erst mit Docker anfängst oder schon ein erfahrener Profi bist, es ist ein Befehl, den du oft verwenden wirst.

Willkommen in der Container-Cloud

Sliplane macht es einfach, Container in der Cloud zu deployen und bei Bedarf zu skalieren. Probier es jetzt aus!