Я запускаю несколько Docker-контейнеров на одном сервере CentOS с ограниченным объемом памяти.
(Я только недавно увеличил его с 0,5 до 1 гигабайта!)
Прежде чем вывести еще один контейнер в Интернет, я хотел бы проверить, сколько у меня места.
Поскольку последние версии Docker уже недоступны для CentOS 6, я использую древнюю версию 1.7 или около того.
В новых версиях Docker запуск docker stats вернет статистику обо всех работающих контейнерах, но в старых версиях вы должны передать docker идентификатор контейнера.
Вот быстрый однострочник, который отображает статистику всех ваших работающих контейнеров для старых версий.
$ docker ps -q | xargs docker stats --no-stream
CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O
31636c70b372 0.07% 130.8 MB/1.041 GB 12.57% 269.7 kB/262.8 kB
8d184dfbeeaf 0.00% 112.8 MB/1.041 GB 10.84% 45.24 MB/32.66 MB
a63b24fe6099 0.45% 50.09 MB/1.041 GB 4.81% 1.279 GB/1.947 GB
fd1339522e04 0.01% 108.2 MB/1.041 GB 10.40% 8.262 MB/23.36 MB
docker ps -q возвращает список запущенных идентификаторов контейнеров, который мы затем передаем через xargs в docker stats.
Добавление –no-stream дает нам только первый результат вместо постоянного обновления статистики, но без него это также работает прекрасно.
Это аккуратный маленький трюк.
Если кто-то знает, как сделать вывод имен контейнеров вместо идентификаторов, пожалуйста, прокомментируйте ниже.
Опять же, это не нужно для новейших версий.
Просто запустите docker stats, и вы получите почти идентичный вывод.
docker ps –format “{{.Names}}”