轻松获取docker所有容器的cpu、内存、网络io、磁盘io

202次阅读

共计 465 个字符,预计需要花费 2 分钟才能阅读完成。

今天项目中需要获取所有 docker 容器的资源占用情况,于是查了下 docker 的 api 文档,发现了一个特别好用的命令,一个指令就能获取所有容器的资源占用情况,分享给大家。

1
<table class="hljs-ln"><tbody><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="1"><div class="hljs-ln-n" data-line-number="1"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="1">docker stats <span class="hljs-attr">--no-stream</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="2"><div class="hljs-ln-n" data-line-number="2"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="2">CONTAINER           CPU %               MEM USAGE/LIMIT     MEM %               NET <span class="hljs-selector-tag">I</span>/O</td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="3"><div class="hljs-ln-n" data-line-number="3"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="3"><span class="hljs-number">31636</span>c70b372        <span class="hljs-number">0.07%</span>               <span class="hljs-number">130.8</span> MB/<span class="hljs-number">1.041</span> GB   <span class="hljs-number">12.57%</span>              <span class="hljs-number">269.7</span> kB/<span class="hljs-number">262.8</span> kB</td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="4"><div class="hljs-ln-n" data-line-number="4"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="4"><span class="hljs-number">8</span>d184dfbeeaf        <span class="hljs-number">0.00%</span>               <span class="hljs-number">112.8</span> MB/<span class="hljs-number">1.041</span> GB   <span class="hljs-number">10.84%</span>              <span class="hljs-number">45.24</span> MB/<span class="hljs-number">32.66</span> MB</td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="5"><div class="hljs-ln-n" data-line-number="5"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="5">a63b24fe6099        <span class="hljs-number">0.45%</span>               <span class="hljs-number">50.09</span> MB/<span class="hljs-number">1.041</span> GB   <span class="hljs-number">4.81%</span>               <span class="hljs-number">1.279</span> GB/<span class="hljs-number">1.947</span> GB</td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="6"><div class="hljs-ln-n" data-line-number="6"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="6">fd1339522e04        <span class="hljs-number">0.01%</span>               <span class="hljs-number">108.2</span> MB/<span class="hljs-number">1.041</span> GB   <span class="hljs-number">10.40%</span>              <span class="hljs-number">8.262</span> MB/<span class="hljs-number">23.36</span> MB</td></tr></tbody></table>

其中 –no-stream 意思是,只打印一条,如果去掉的话,则动态打印最新的状态信息。

后面加上容器 id 的话,可以单独打印指定 id 容器的 cpu、内存、网络 io、硬盘读写 io。

是不是很好用,如果帮助到你的话,希望给我留言点赞把

正文完
 0