docker stats:实时显示运行中容器的CPU、内存、网络I/O、块I/O及PIDs等资源使用情况,支持指定容器ID或名称(如docker stats <container_name>)。该命令无需额外安装,是快速查看容器状态的常用工具。
docker inspect:获取容器的详细配置信息(如环境变量、网络设置、挂载卷、启动命令等),通过容器ID或名称调用(如docker inspect <container_id>),帮助排查容器配置问题。
docker logs:查看容器日志(标准输出/错误),支持实时跟踪(-f)、查看最近N行(--tail N)、按时间筛选(--since)等,如docker logs -f <container_name>可实时监控容器日志输出。
systemctl与journalctl:通过systemctl status docker检查Docker守护进程状态,通过journalctl -u docker.service查看Docker服务日志,用于监控Docker引擎本身的运行情况。
ctop:交互式容器性能监控工具,提供类似top的界面,实时显示容器的CPU、内存、磁盘、网络等指标,支持排序、过滤。通过Docker运行(docker run -d --rm -ti --volume /var/run/docker.sock:/var/run/docker.sock:ro quay.io/vektorlab/ctop:latest),无需安装依赖。
CAdvisor + InfluxDB + Grafana:
http://<host>:8080)。通过Docker运行(docker run -d --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 --name=cadvisor google/cadvisor:latest)。docker pull tutum/influxdb,并配置持久化卷)。docker run -d -p 3000:3000 --name=grafana -e INFLUXDB_HOST=localhost -e INFLUXDB_PORT=8086 -e INFLUXDB_NAME=cadvisor -e INFLUXDB_USER=root -e INFLUXDB_PASS=root grafana/grafana)。Prometheus + Grafana:
cadvisor exporter采集容器指标,支持告警规则配置。通过Docker运行(docker run -d -p 9090:9090 --name=prometheus prom/prometheus),并配置prometheus.yml添加cadvisor job。Dozzle:轻量级Web-based Docker日志监控工具,实时显示容器日志,支持过滤、搜索、下载。通过Docker Compose运行(docker-compose.yml配置挂载/var/run/docker.sock,端口映射9999:8080),浏览器访问http://<host>:9999即可查看日志。
以上方法覆盖了从基础命令行到高级可视化监控的需求,可根据实际场景选择合适的工具组合(如小型环境用docker stats+ctop,生产环境用Prometheus+Grafana+CAdvisor)。