Cover Image

Gerade habe ich einen neuen Container in ein Kundenprojekt eingebaut. Aus Interesse wollte ich wissen wie viel Ressourcen durch den neuen Container im Projekt belegt werden. Genauer wollte ich wissen wie viel Arbeitsspeicher verbraucht wird. Da bin ich über das nützliche Kommando docker stats gestolpert.

docker stats

Das verhält sich ähnlich wie das bekannte Tool top. Die Anzeige aktualisiert sich alle paar Sekunden. Man kann die Anzeige auch auf einzelne Container eingrenzen.

Wenn man das Tool einfach aufruft, werden die aktuell laufenden Container angezeigt. Manchmal möchte man aber auch die Informationen über alle Container wissen. Dazu muss dann die Option -a hinzugefügt werden.

Für Skripte ist eventuell die Option --format interessant mit der ein Go-Template mitgegeben werden kann.

Es können folgende Variablen verwendet werden:

.ContainerContainer Name or ID
.NameContainer name
.IDContainer ID
.CPUPercCPU percentage
.MemUsageMemory usage
.NetIONetwork IO
.BlockIOBlock IO
.MemPercMemory percentage (Not available on Windows)
.PIDsNumber of PIDs (Not available on Windows)

https://docs.docker.com/engine/reference/commandline/stats/

Wer eine schöne Tabelle mit Name und CPU-Auslastung der laufenden Container sehen möchte kann einfach folgendes ausführen:

docker stats --format "table {{.Name}}\\t {{.CPUPerc}}"