Cover Image

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
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:

<table><tbody><tr><td><code>.Container</code></td><td>Container Name or ID</td></tr><tr><td><code>.Name</code></td><td>Container name</td></tr><tr><td><code>.ID</code></td><td>Container ID</td></tr><tr><td><code>.CPUPerc</code></td><td>CPU percentage</td></tr><tr><td><code>.MemUsage</code></td><td>Memory usage</td></tr><tr><td><code>.NetIO</code></td><td>Network IO</td></tr><tr><td><code>.BlockIO</code></td><td>Block IO</td></tr><tr><td><code>.MemPerc</code></td><td>Memory percentage (Not available on Windows)</td></tr><tr><td><code>.PIDs</code></td><td>Number of PIDs (Not available on Windows)</td></tr></tbody></table>

[https://docs.docker.com/engine/reference/commandline/stats/](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:

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