我想显示所有正在运行的容器的状态,因此可以像下面这样实现:
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
但列容器仅显示容器ID。我需要容器名称。例如:
码头工人统计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`所有容器的名称’
例如:
码头工人统计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 ps”而不是“ awk” …请注意,“-format”通常与“ docker inspect”一起使用:
docker stats $(docker ps --format '{{.Names}}')
2017年2月12日,请参阅下面的马纳特答案(https://stackoverflow.com/a/42060599/72717)。Docker 1.13.0的“ stats”可以以“ –format”显示容器名称:
docker stats --format "table {{.Name}}\t{{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"