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:使用第三方工具

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

使用 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>:9443http://<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 容器!

相关推荐
invicinble5 小时前
对linux形成认识
linux·运维·服务器
小Pawn爷5 小时前
14.VMmare安装ubuntu
linux·运维·ubuntu
技术路上的探险家5 小时前
8 卡 V100 服务器:基于 vLLM 的 Qwen 大模型高效部署实战
运维·服务器·语言模型
有谁看见我的剑了?5 小时前
介绍一款 测试 DNS解析成功率的网站
运维
半桔5 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
engchina6 小时前
WSL Ubuntu で Kubernetes v1.34.2 + Docker 環境を構築する
ubuntu·docker·kubernetes
HABuo6 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
Howrun7776 小时前
关于Linux服务器的协作问题
linux·运维·服务器
yunfuuwqi8 小时前
OpenClaw✅真·喂饭级教程:2026年OpenClaw(原Moltbot)一键部署+接入飞书最佳实践
运维·服务器·网络·人工智能·飞书·京东云
迎仔8 小时前
C-算力中心网络隔离实施方法:怎么搞?
运维·网络