Docker 容器日志查看与分析如何用

作者:袖梨 2026-08-13

docker logs 命令需组合参数高效查日志:--tail 查尾部、-f 实时跟踪、--since/--until 按时间筛选、-t 加时间戳、--details 显示元信息,并可结合 grep 提取错误。

直接用 docker logs 就能查,但得会组合参数才能高效定位问题。默认日志来自容器的 stdout/stderr,不涉及应用自己写的日志文件(比如 /var/log/app.log),那是另一套路径。

快速看最近几行日志

刚部署或怀疑出错时,最常用的是只看尾部内容:

  1. docker logs --tail 50 my-app:显示最后 50 行
  2. docker logs --tail 10 nginx:只看最近 10 行,响应快、不卡屏
  3. 如果记不清容器名,先 docker ps 查名称或 ID,再代入命令

实时跟踪日志输出

等服务启动、观察请求流入、调试接口行为时,用 -f 持续监听:

  1. docker logs -f my-app:从头开始滚动输出新日志
  2. docker logs -f --tail 30 my-app:先刷出最近 30 行,再持续追加——兼顾历史和实时
  3. Ctrl+C 可退出,不会影响容器运行

按时间范围筛选日志

排查某个时段的问题(比如凌晨崩溃、发布后异常),靠时间过滤更准:

  1. docker logs --since 15m my-app:查过去 15 分钟的日志
  2. docker logs --since 2026-07-29T14:00:00 --until 2026-07-29T15:30:00 my-app:精确到分钟的时间段
  3. 支持单位:s(秒)、m(分)、h(小时)、d(天)

带时间戳和流类型辅助判断

日志没标时间?分不清是 stdout 还是 stderr?加参数一眼看清:

  1. docker logs -t my-app:每行开头加上 ISO 时间戳(如 2026-07-29T17:22:15.123456789Z
  2. docker logs -t --details my-app:额外显示容器元信息(如容器 ID、镜像、主机名)
  3. stderr 日志通常含错误关键词(ERRORpanicException),可配合 grep 提取:docker logs my-app | grep -i "error"

不复杂但容易忽略

相关文章

精彩推荐