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 容器!

相关推荐
一只小阿乐8 分钟前
window 服务器上部署前端静态资源以及nginx 配置
运维·服务器·nginx
bjzhang7510 分钟前
docker部署tomcat网站服务器
服务器·docker·tomcat
IT成长日记35 分钟前
【Docker基础】Docker网络模式:Host模式深度解析
网络·docker·容器·host·网络模式
Jay Kay44 分钟前
brpc中后端server挂在同一个命名服务和不同命名服务的区别详解
运维·服务器·brpc
Linux运维技术栈1 小时前
Nginx 动静分离原理与工作机制详解:从架构优化到性能提升
运维·nginx·架构
奈斯ing1 小时前
【prometheus+Grafana篇】PromQL核心函数解析:rate()与irate()函数详解
运维·grafana·prometheus
尤达c4 小时前
Jenkins on Mesos 高可用高并发部署
运维·ci/cd·devops
极限实验室10 小时前
使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建
数据库·docker·devops
GuokLiu10 小时前
250708-Debian系统安装Edge浏览器并配置最小中文输入法
运维·edge·debian
guygg8811 小时前
ubuntu手动编译VTK9.3 Generating qmltypes file 失败
linux·运维·ubuntu