Docker运维篇

要查看 Docker 容器的资源占用排行,可以使用 docker stats 命令结合一些额外的选项和工具来实现。以下是一些具体的方法:

方法 1:使用 docker stats 命令

docker stats 命令可以实时显示所有容器的资源使用情况,包括 CPU、内存、网络 I/O 和磁盘 I/O。你可以通过以下命令查看资源占用情况:

bash 复制代码
docker stats

默认情况下,docker stats 会每隔 1 秒钟刷新一次输出内容,直到你按下 Ctrl + C。

方法 2:按资源占用排序

如果你希望按资源占用排序,可以使用 --no-stream 选项并结合 sort 命令。以下是一些常用的排序命令:

按内存使用量排序
bash 复制代码
docker stats --no-stream --format "table {{.Name}}\t{{.MemUsage}}" | sort -k 2 -h
按 CPU 使用率排序
bash 复制代码
docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}" | sort -k 2 -h

方法 3:使用 --format 自定义输出

你可以通过 --format 选项自定义输出内容,例如只显示容器名称和内存使用情况:

bash 复制代码
docker stats --no-stream --format "table {{.Name}}\t{{.MemUsage}}"

方法 4:使用第三方工具

如果你需要更详细的监控和可视化,可以使用第三方工具,如 Portainer 或 cAdvisor。

使用 Portainer

Portainer 是一个开源的 Docker 管理工具,提供了一个 Web 界面来监控和管理 Docker 容器。你可以通过以下命令安装 Portainer:

bash 复制代码
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

访问 http://<your-server-ip>:9443 或 http://<your-server-ip>:9000,你可以看到容器的资源使用情况。

使用 cAdvisor

cAdvisor 是一个开源的容器资源分析工具,可以监控容器内的资源使用情况并生成报告。你可以通过以下命令安装 cAdvisor:

bash 复制代码
docker run \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:ro \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --publish=8080:8080 \
  --detach=true \
  --name=cadvisor \
  google/cadvisor:latest

访问 http://<your-server-ip>:8080,你可以看到容器的资源使用情况。

示例命令

以下是一个完整的示例命令,按内存使用量排序并显示容器名称和内存使用情况:

bash 复制代码
docker stats --no-stream --format "table {{.Name}}\t{{.MemUsage}}" | sort -k 2 -h

输出示例

运行上述命令后,你将看到类似以下的输出:

复制代码
NAME                MEM USAGE
ybjgapi             128MiB / 1.942GiB
ldxc                64MiB / 1.942GiB
scmapi              32MiB / 1.942GiB
...

总结

通过上述方法,你可以轻松查看 Docker 容器的资源占用情况,并按需排序。如果你需要更高级的监控和可视化,可以考虑使用 Portainer 或 cAdvisor 等第三方工具。希望这些方法能帮助你更好地管理你的 Docker 容器!

相关推荐
吴声子夜歌6 分钟前
Nginx应用与运维——Nginx在Kubernetes中的应用(二)
运维·nginx·kubernetes
Ruiery9 小时前
Linux 6.6内核 CPU 深度解析(七):调度器启动 — 从单核到多核,调度器分阶段点亮
linux·运维·服务器
50万马克的面包9 小时前
CSDN-栈队列数组-知识点整理
linux·运维·服务器
MicrosoftCloud10 小时前
用户权限 04|/etc/sudoers 安全配置:从最小授权到「别把 ALL 随便给人」
运维·安全·ubuntu·sudo·sudoers
梦想不只是梦与想10 小时前
docker-compose.yml
docker·docker-compose·docker run
꯭自꯭闭꯭11 小时前
达梦事物特性及MVCC
linux·运维·数据库
亚川楼宇自控系统数据中心厂家12 小时前
实验室智能化管理系统|人环物智一体化管控平台
运维
zmsup13 小时前
Agent 上下文调优:结合 OpsArk 运维智能体,设计模型每一步真正需要的信息
运维·agent·上下文压缩·运维智能体·上下文调优
吴声子夜歌16 小时前
Nginx应用与运维——Nginx负载均衡应用实战(二)
运维·nginx·负载均衡
lisanmengmeng16 小时前
NRPE 添加命令(一)
linux·运维·服务器