Debian系统监控Docker资源的常用方法
查看容器状态
docker ps:列出当前正在运行的容器;docker ps -a:显示所有容器(包括已停止的);docker ps -q:仅输出运行中容器的ID,便于后续操作。docker inspect <容器ID/名称>:获取容器的详细配置(如资源限制、网络设置、挂载卷等),以JSON格式输出,帮助排查配置问题。实时资源监控
docker stats:实时显示所有运行中容器的CPU使用率、内存占用、网络收发速率(RX/TX)、磁盘I/O(读写速率)及重启次数等指标,默认每秒刷新一次。可通过docker stats <容器ID/名称>指定监控单个容器。监控Docker守护进程
systemctl status docker:检查Docker服务的运行状态(是否处于active状态),确认守护进程是否正常工作。journalctl -u docker.service:查看Docker守护进程的日志(包括启动、停止、错误信息),用于排查守护进程异常。sudo apt-get update && sudo apt-get install cadvisor
sudo systemctl start cadvisor # 启动服务
访问http://<Debian主机IP>:8080,即可查看所有容器的资源使用情况(包括历史趋势图)。prometheus.yml,添加cAdvisor抓取任务(scrape_configs部分指定cAdvisor地址http://localhost:8080/metrics);sudo apt-get install grafana,启动后访问http://<主机IP>:3000(默认账号admin/admin),添加Prometheus为数据源,导入Docker监控仪表盘(如Grafana官方库中的“Docker Monitoring”模板,ID:193)。top命令,但专为Docker容器设计,实时显示容器的CPU、内存、网络、磁盘I/O等指标,支持按列排序(如按CPU使用率降序排列),界面简洁易用。docker pull quay.io/vektorlab/ctop
docker run -d --rm -ti --name ctop -v /var/run/docker.sock:/var/run/docker.sock:ro quay.io/vektorlab/ctop
运行后,在终端查看容器的实时资源使用情况(按q退出)。bash <(curl -Ss https://my-netdata.io/kickstart.sh)
安装完成后,访问http://<主机IP>:19999,点击“Docker”模块即可查看容器监控数据。以上方法覆盖了从基础到高级的Docker资源监控需求,可根据实际场景选择(如临时排查问题用命令行,长期监控用Prometheus+Grafana,快速查看用Ctop/Netdata)。