Docker 容器系统资源命令如何用

作者:袖梨 2026-09-03

docker stats可实时查看容器资源使用情况,支持动态刷新、指定容器、一次性快照及自定义格式输出,并可结合docker top、inspect、logs等命令深入排查问题。

直接用 docker stats 就能实时看容器的 CPU、内存、网络和磁盘使用情况,不需要额外安装工具。

快速查看所有运行中容器的资源占用

在终端执行:

  1. docker stats —— 动态刷新,持续显示所有正在运行的容器指标
  2. Ctrl + C 可退出实时视图
  3. 默认表格包含:容器名、CPU%、内存使用量/限制、内存占比、网络 I/O、块 I/O、进程数(PIDs)

只查某个容器或一次性快照

适合脚本调用或排查瞬时问题:

  1. docker stats my-app —— 指定容器名或 ID,聚焦观察
  2. docker stats --no-stream —— 只输出当前一次数据,不刷新
  3. docker stats --no-stream --all —— 包括已停止的容器(部分指标可能为空)

自定义输出格式方便分析

--format 提取关键字段,例如:

  1. docker stats --no-stream --format "{{.Name}}t{{.CPUPerc}}t{{.MemPerc}}" —— 输出名称、CPU%、内存%
  2. docker stats --no-stream --format "cpu: {{.CPUPerc}}, mem: {{.MemUsage}}" nginx —— 简洁文本格式
  3. 注意:.MemPerc.PIDs 仅 Linux 主机可用

配合其他命令定位具体问题

stats 告诉你“谁吃得多”,下面命令帮你查“为什么”:

  1. docker top <container> —— 查看容器内各进程的 CPU/内存占用
  2. docker inspect <container> | grep -A 5 Memory —— 查看内存限制是否设置过低
  3. docker logs --tail 50 <container> —— 结合日志判断是否有异常行为触发资源飙升

不复杂但容易忽略:没设内存 limit 的容器,MEM USAGE / LIMIT 里 LIMIT 显示的是宿主机总内存,这时候看 MEM % 更有参考价值。

相关文章

精彩推荐