Короткий ответ
Команда docker stats показывает live-метрики по контейнерам: CPU%, использование памяти относительно лимита, сетевой I/O и дисковый I/O; с флагом --no-stream выводится однократный снимок, а не постоянно обновляемая таблица.
Как это работает подробнее
docker stats читает метрики напрямую из cgroups хоста, в которых запущен каждый контейнер (CPU time, memory.usage, I/O счётчики), и периодически обновляет вывод в терминале.
Пример кода
Пример конфигурации
$ docker stats --no-stream
CONTAINER NAME CPU % MEM USAGE / LIMIT MEM %
a1b2c3d4 web 145.3% 510MiB / 512MiB 99.6%Что использовать на практике
- Практика.
docker stats— первый инструмент для быстрой проверки, не "съедает" ли какой-то контейнер аномально много CPU или памяти; для разового снимка (например, в скриптах) используютdocker stats --no-stream --format "{{.Name}}: {{.CPUPerc}} {{.MemUsage}}".
Подводные камни
- Риск. путают
MEM USAGE / LIMITизdocker statsс реальным лимитом ядра ОС — если лимит контейнеру явно не задан (--memory), в колонке показывается общая память хоста, что может ввести в заблуждение о "лимите" контейнера.