docker logs 命令仅读取容器 stdout/stderr 日志,不包含应用写入文件的日志;支持基础查看、-f 实时跟踪、--since/--until 时间筛选等功能,但仅适用于 json-file 或 journald 日志驱动。
用 docker logs 查看容器日志,核心是读取容器的标准输出(stdout)和标准错误(stderr),不是所有日志都能看到——比如应用自己写进 /var/log/ 文件的日志,得进容器查。
基础查看:看历史日志
不加参数直接运行,显示容器启动以来全部日志(可能很长):
docker logs my-app-
docker logs a1b2c3(用容器 ID 前几位也行)
实时跟踪:像 tail -f 一样看新日志
加 -f(follow)才能持续输出新增内容,这是排查问题最常用的方式:
-
docker logs -f my-nginx—— 从头开始滚动输出 -
docker logs -f --tail 100 my-nginx—— 先显示最近 100 行,再实时追加,避免刷屏 -
docker logs -f -t --tail 50 my-app—— 带 ISO 时间戳,方便比对时间线
按时间或范围筛选日志
快速定位某段时间的异常:
-
docker logs --since 10m my-app—— 查最近 10 分钟的日志 -
docker logs --since "2026-10-08T14:00:00" my-app—— 查指定时刻之后的日志 -
docker logs --since 2h --until 30m my-app—— 查 2 小时前到 30 分钟前的日志段
退出和注意事项
按 Ctrl+C 安全退出实时查看,不影响容器运行。
注意两点:
- 该命令只对使用
json-file或journald日志驱动的容器有效;若用none、syslog等驱动,docker logs可能无输出 - 如果应用把日志写进文件(如
/app/logs/error.log),需用docker exec -it my-app tail -f /app/logs/error.log查看











