检查每个Docker容器使用的资源

Nyx*_*nyx 8 ubuntu docker ubuntu-14.04

如何检查(Ubuntu)服务器上运行的每个Docker容器使用的资源量(CPU,内存等)?

use*_*097 6

docker stats看到了doc

http://docs.docker.com/reference/commandline/stats/

例如,你可以做到

docker stats $(docker ps -q)

(将显示容器的ID,或者如果您想要名称,请参阅

有没有办法在docker stats中显示容器名称?

docker top如果您对特定容器感兴趣,也可以

http://docs.docker.com/reference/commandline/top/


Von*_*onC 1

您可以尝试使用docker-scout(尽管不是免费的)或cAdvisor(Apache 许可证)。

这似乎比:

  • 直接在主机上安装代理及其依赖项(最好作为容器)
  • 在每个容器中运行代理是不好的(大量的开销)

cAdvisor(Container Advisor)为容器用户提供对其运行容器的资源使用情况和性能特征的了解。
它是一个正在运行的守护进程,用于收集、聚合、处理和导出有关正在运行的容器的信息。
具体来说,它为每个容器保留资源隔离参数、历史资源使用情况、完整历史资源使用情况的直方图和网络统计信息

sudo docker run \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:rw \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --publish=8080:8080 \
  --detach=true \
  --name=cadvisor \
  google/cadvisor:latest
Run Code Online (Sandbox Code Playgroud)