Подтвердить что ты не робот

Есть ли способ отображать имена контейнеров в статистике докеров?

Я хочу отобразить состояние всех запущенных контейнеров, поэтому я мог бы выполнить его следующим образом:

docker stats $(docker ps -q)

CONTAINER           CPU %               MEM USAGE/LIMIT       MEM %               NET I/O
04cdc87ba3cf        0.03%               468.8 MiB/3.784 GiB   12.10%              6.827 KiB/10.2 KiB
7d30fcbd8b36        0.09%               88.09 MiB/3.784 GiB   2.27%               28.23 KiB/289.2 KiB
a09ef63b2c59        97.94%              271.5 MiB/512 MiB     53.03%              3.644 MiB/190.2 KiB
a29681c1980f        0.10%               9.066 MiB/3.784 GiB   0.23%               2.538 KiB/648 B

но в контейнере столбца отображается только идентификатор контейнера. Мне нужно имя контейнера. Например:

статистика докеров lrlcms_web_1

CONTAINER           CPU %               MEM USAGE/LIMIT      MEM %               NET I/O
lrlcms_web_1        0.09%               88.1 MiB/3.784 GiB   2.27%               28.85 KiB/289.2 KiB

Итак, как мне получить все имена контейнеров? Только для:

docker stats `все имя контейнера '

Например:

docker stats lrlcms_db_1 lrlcms_redis_1

CONTAINER           CPU %               MEM USAGE/LIMIT       MEM %               NET I/O
lrlcms_db_1         0.05%               450.3 MiB/3.784 GiB   11.62%              8.737 KiB/10.2 KiB
lrlcms_redis_1      0.08%               7.383 MiB/3.784 GiB   0.19%               4.448 KiB/648 B
4b9b3361

Ответ 1

или docker stats $(docker ps | awk '{if(NR>1) print $NF}')

Ответ 2

Или, используя обычный "docker ps" вместо "awk"... примечание "-формат" обычно используется с "проверкой докеров":

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

2017-02-12 См. ответ на манат ниже (fooobar.com/questions/166155/...). Docker 1.13.0 "stats" может отображать имя контейнера в "-формате":

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

Ответ 3

Так как docker 1.13.0 (# 27797), есть опция формата, которая поддерживает имя контейнера. Таким образом, вы можете запустить его следующим образом:

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

Подробнее см. Docker Formatting.

Ответ 4

Немного взломан, но работает:

docker stats $(docker ps | tail -n +2 | awk '{print $NF}')

tail -n +2 существует, чтобы удалить строку заголовка docker ps, и, наконец, awk '{print $NF}' печатает последний столбец (т.е. имя контейнера) для каждой строки ввода