2015-06-09 83 views
35

我要顯示所有正在運行的集裝箱的狀態,所以我可以實現它類似如下:有沒有什麼辦法可以在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 

那麼,如何讓所有的容器名稱?只是:

泊塢窗統計`所有容器的名字」

例如:

泊塢窗統計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 
+0

'docker stats'目前無法顯示更多內容(順便說一句,在任何列上排序都很方便),文檔http://docs.docker.com/reference/commandline/cli /#stats也會說'注意:如果您想要了解有關容器資源使用情況的更多詳細信息,請使用API​​端點。' – user2915097

+0

也許如果不是傳遞id,而是傳遞一個容器名稱列表,這是'docker stats $(docker ps | awk'NR> 1 {print $ 2}'''(未經測試,但你明白了) ,我現在沒有在Docker提示符處訪問) – user2915097

+0

嘗試docker stats $(docker ps | awk'{if(NR> 1)print $ 2}')' – user2915097

回答

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

這一個適合我:-) – Greg

4

有點哈克,但作品:

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

tail -n +2是有以除去docker ps標題行,最後awk '{print $NF}'打印的最後一列(即容器名稱)對每個輸入行都

+0

這對我的工作比實際的答案更好,但在我的情況下,我正在刪除所有的容器(我有很多)。所以我的命令是'docker rm -f $(docker ps -a | tail -n +2 | awk'{print $ NF}') ' – Fadi

72

或者,使用普通的「泊塢窗PS」,而不是「AWK」 ......注意「--format」正常使用「泊塢窗檢查」:

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

2017-02-12查看manat的回答如下(https://stackoverflow.com/a/42060599/72717)。泊塢窗1.13.0「統計」可以在「--format」顯示容器名稱:

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

最好的答案。老師兩件事情在一次:-) –

8

由於碼頭工人1.13.0 (#27797),有支持容器名稱的格式選項。完整的細節

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

見碼頭工人Formatting:這樣你就可以像這樣運行它。

相關問題