今天小编给大家分享一下docker容器使用的资源怎么查看的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
默认输出
docker stats 命令用来显示容器使用的系统资源。不带任何选项执行 docker stats 命令:
$ docker stats
默认情况下,stats 命令会每隔 1 秒钟刷新一次输出的内容直到你按下 ctrl + c。下面是输出的主要内容:
[container]:以短格式显示容器的 id。
[cpu %]:cpu 的使用情况。
[mem usage / limit]:当前使用的内存和最大可以使用的内存。
[mem %]:以百分比的形式显示内存使用情况。
[net i/o]:网络 i/o 数据。
[block i/o]:磁盘 i/o 数据。
[pids]:pid 号。
只返回当前的状态
如果不想持续的监控容器使用资源的情况,可以通过 --no-stream 选项只输出当前的状态:
$ docker stats --no-stream
这样输出的结果就不会变化了,看起来省劲不少。
只输出指定的容器
如果我们只想查看个别容器的资源使用情况,可以为 docker stats 命令显式的指定目标容器的名称或者是 id:
$ docker stats --no-stream registry 1493
当有很多的容器在运行时,这样的结果看起来会清爽一些。这里的 registry 和 1493 分别是容器的名称和容器的 id。注意,多个容器的名称或者是 id 之间需要用空格进行分割。
细心的同学可能已经发现了,第一列不再显示默认的容器 id,而是显示了我们传入的容器名称和 id。基于此,我们可以通过简单的方式使用容器的名称替代默认输出中的容器 id:
$ docker stats $(docker ps --format={{.names}})
用容器的名称替代 id 后输出的结果是不是友好一些?
格式化输出的结果
我们在前面搞了点小手段把输出中的容器 id 替换成了名称。其实 docker stats 命令支持我们通过 --format 选项自定义输出的内容和格式:
$ docker stats --format "table {{.name}}\t{{.cpuperc}}\t{{.memusage}}"
上面的命令中我们只输出了 name, cpuperc 和 memusage 三列。下面是自定义的格式中可以使用的所有占位符:
.container 根据用户指定的名称显示容器的名称或 id。
.name 容器名称。
.id 容器 id。
.cpuperc cpu 使用率。
.memusage 内存使用量。
.netio 网络 i/o。
.blockio 磁盘 i/o。
.memperc 内存使用率。
.pids pid 号。
有了这些信息我们就可以完全按照自己的需求或者是偏好来控制 docker stats 命令输出的内容了。
除了以 table 格式输出结果,还可以通过 format 选项输出 json 格式的结果:
$ docker stats --no-stream --format \ "{\"container\":\"{{ .container }}\",\"memory\":{\"raw\":\"{{ .memusage }}\",\"percent\":\"{{ .memperc }}\"},\"cpu\":\"{{ .cpuperc }}\"}"
以上就是“docker容器使用的资源怎么查看”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。