首页/云/Docker 容器速查/docker logs 为空的原因
容器排障52 条

docker logs 为空的原因

logs 为空先分清三类:日志驱动不是 json-file/local、应用把日志写进容器内文件、进程在打印前就退出。

Docker 容器速查云更新于 2026-10-12
查驱动inspect 的 HostConfig.LogConfig.Type
查进程State.ExitCode 与 Status
查文件应用日志路径是否在容器内

示例

示例
docker inspect -f 'driver={{.HostConfig.LogConfig.Type}} status={{.State.Status}} exit={{.State.ExitCode}}' web
docker exec web sh -c 'ls -l /var/log/ 2>/dev/null | head -10'
ls -lh /var/lib/docker/containers/*/*-json.log | tail -5
应用升级改用文件日志后容器标准输出会变空,接日志采集时要覆盖两层来源。

易错点

  • 容器已退出时 exec 不可用,日志文件排查要在运行中或另外挂载查看
  • 驱动为 none 的容器永远没有 logs 输出,先核对驱动再查应用

数据来源与参考

  • Docker 官方文档:Logging drivers 与 Viewing logs(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌