Docker 自带的几个监控子命令:
ps 、top 、stats
功能更强的开源监控工具:
sysdig 、Weave Scope 、 cAdvisor 、Prometheus
Docker 自带的监控子命令 —ps
docker container ps 查看当前运行的容器
新版的 Docker 提供了一个新命令 docker container ls,其作用和用法与 docker container ps 完全一样。不过 ls 含义可能比 ps 更准确,所以更推荐使用。
docker container ls
Docker 自带的监控子命令 —top
执行 docker container top [container] 命令可以知道某个容器中运行了哪些进程
上面显示了 web1 这个容器中的进程。
命令后面还可以跟上 Linux 操作系统 ps 命令的参数显示特定的信息,比如 -au。
Docker 自带的监控子命令 — stats
docker container stats 用于显示每个容器各种资源的使用情况
默认会显示一个实时变化的列表,展示每个容器的 CPU 使用率,内存使用量和可用量。
注意:容器启动时如果没有特别指定内存 limit,stats 命令会显示 host 的内存总量,但这并不意味着每个 container 都能使用到这么多的内存。
除此之外 docker container stats 命令还会显示容器网络和磁盘的 IO 数据。
默认的输出有个缺点,显示的是容器 ID 而非名字。
我们可以在 stats 命令后面指定容器的名称只显示某些容器的数据。
比如 docker container stats web1
Docker 自带的监控子命令的对比
优点:优点是运行方便,很适合想快速了解容器运行状态的场景
缺点:输出的数据有限,而且都是实时数据,无法反应历史变化和趋势