是否有任何方式显示在docker统计中的容器名称?

我想显示所有正在运行的容器的状态,所以我可以实现它,如下所示:

docker统计$(dockerps -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 

但是列容器只显示容器ID。 我需要容器名称。 例如:

docker统计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统计“所有容器的名字”

例如:

docker统计信息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 

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

或者,使用普通的“docker ps”而不是“awk”… note“–format”通常用于“docker inspect”:

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

2017-02-12查看manat的答案( https://stackoverflow.com/a/42060599/72717 )。 Docker 1.13.0“stats”可以在“–format”中显示容器名称:

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

由于docker1.13.0 (#27797) ,有支持容器名称的格式选项。 所以你可以像这样运行它:

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

有关完整的详细信息,请参阅Docker 格式 。

有点哈克,但工作:

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

tail -n +2用于删除docker ps头部行,最后awk '{print $NF}'打印每个input行的最后一列(即容器名称)