最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Docker 容器日志查看与分析如何用
时间:2026-08-13 12:21:49 编辑:袖梨 来源:一聚教程网
docker logs 命令需组合参数高效查日志:--tail 查尾部、-f 实时跟踪、--since/--until 按时间筛选、-t 加时间戳、--details 显示元信息,并可结合 grep 提取错误。
直接用 docker logs 就能查,但得会组合参数才能高效定位问题。默认日志来自容器的 stdout/stderr,不涉及应用自己写的日志文件(比如 /var/log/app.log),那是另一套路径。
快速看最近几行日志
刚部署或怀疑出错时,最常用的是只看尾部内容:
-
docker logs --tail 50 my-app:显示最后 50 行 -
docker logs --tail 10 nginx:只看最近 10 行,响应快、不卡屏 - 如果记不清容器名,先
docker ps查名称或 ID,再代入命令
实时跟踪日志输出
等服务启动、观察请求流入、调试接口行为时,用 -f 持续监听:
-
docker logs -f my-app:从头开始滚动输出新日志 -
docker logs -f --tail 30 my-app:先刷出最近 30 行,再持续追加——兼顾历史和实时 - 按
Ctrl+C可退出,不会影响容器运行
按时间范围筛选日志
排查某个时段的问题(比如凌晨崩溃、发布后异常),靠时间过滤更准:
-
docker logs --since 15m my-app:查过去 15 分钟的日志 -
docker logs --since 2026-07-29T14:00:00 --until 2026-07-29T15:30:00 my-app:精确到分钟的时间段 - 支持单位:
s(秒)、m(分)、h(小时)、d(天)
带时间戳和流类型辅助判断
日志没标时间?分不清是 stdout 还是 stderr?加参数一眼看清:
-
docker logs -t my-app:每行开头加上 ISO 时间戳(如2026-07-29T17:22:15.123456789Z) -
docker logs -t --details my-app:额外显示容器元信息(如容器 ID、镜像、主机名) - stderr 日志通常含错误关键词(
ERROR、panic、Exception),可配合grep提取:docker logs my-app | grep -i "error"
不复杂但容易忽略