Exemple

L'inspection de l'utilisation des ressources du système est un moyen efficace de trouver des applications qui fonctionnent mal. Cet exemple est équivalent à la commande toptraditionnelle pour les conteneurs:

docker stats

Ce qui donne :

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
3eceaa522093        grafana             0.02%               13.71MiB / 3.765GiB   0.36%               75.1kB / 53.5kB     32.8kB / 205kB      10
3eb95b478c1f        caddy               0.00%               1.543MiB / 3.765GiB   0.04%               942B / 0B           0B / 0B             6
a8eb40580a83        prometheus          3.10%               61MiB / 3.765GiB      1.58%               26.3MB / 754kB      0B / 6.48MB         9
e12942a03e82        alertmanager        0.10%               9.047MiB / 3.765GiB   0.23%               102kB / 31.4kB      0B / 4.1kB          9
f831b60e6da1        nodeexporter        0.00%               6.488MiB / 3.765GiB   0.17%               156kB / 2.99MB      0B / 0B             4
6398ebda738f        pushgateway         0.00%               4.211MiB / 3.765GiB   0.11%               58.3kB / 275kB      0B / 0B             6
68800a549d6e        cadvisor            30.80%              68.35MiB / 3.765GiB   1.77%               475kB / 23MB        0B / 0B             19
51fc82959777        ghost               0.06%               79.02MiB / 3.765GiB   2.05%               118kB / 223kB       0B / 721kB          10
a5c0d5659fe6        traefik_proxy_1     0.05%               10.03MiB / 3.765GiB   0.26%               552kB / 431kB       262kB / 24.6kB      7

Pour suivre les statistiques de conteneurs spécifiques, listez-les sur la ligne de commande:

docker stats 51fc82959777

Il s'agit du conteneur Ghost de ce blog.

Docker stats affiche les informations suivantes:

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
51fc82959777        ghost               0.02%               117.8MiB / 3.765GiB   3.05%               430kB / 3.25MB      0B / 1.43MB         10

Par défaut, les docker stats affichent l'ID des conteneurs, ce qui n'est pas très utile, si vous préférez afficher les noms du conteneur, faites simplement

docker stats $(docker ps --format '{{.Names}}')

Pour aller encore plus précisément sur un conteneur en particulier on le cible via son id de container et on applique la commande suivante :

docker stats --all --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}" 3eceaa522093

Ce qui donne :

La commande docker ps --filter ou -f est également très pratique pour mettre l'accent sur un filtre spécifique pour un container donné.

docker ps --filter

Par exemple :

docker ps --filter status=running