Debian系统下分析Docker日志可从查看、工具使用及故障排查三方面入手,具体如下:
命令行查看
docker logs:查看容器标准输出/错误日志,支持-f(实时跟踪)、--since(按时间筛选)、--tail(显示最后N行)等参数。docker logs -f <容器名或ID> # 实时查看 docker logs --since "2025-08-01" <容器名> # 查看指定时间后的日志 journalctl:查看Docker守护进程日志(需systemd支持),可按服务、时间过滤。journalctl -u docker.service --since "2025-08-01" # 查看Docker服务日志 进入容器查看
使用docker exec进入容器,通过cat、less、grep等命令查看内部日志文件(如/var/log/syslog)。
docker exec -it <容器名> /bin/bash cat /var/log/nginx/error.log | grep "ERROR" # 过滤错误日志 图形化工具
docker run -d -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock amir20/dozzle 日志分析工具
awk/sed:提取特定字段(如时间、错误码),处理结构化日志。sort/uniq:统计重复日志,识别高频错误。定位异常事件
docker logs和journalctl对比分析。docker logs中的OOM(内存不足)或CrashLoopBackOff错误。分析服务依赖问题
日志轮转与清理
logrotate或Docker的log-opts(如max-size、max-file)避免日志占满磁盘。/var/lib/docker/containers/<容器ID>/<容器ID>-json.log。/etc/docker/daemon.json设置(如json-file、syslog),影响日志存储和传输方式。参考来源: