在 Docker 中,可以使用 docker logs
命令来查看容器的日志。以下是一些常见的用法:
基本用法
docker logs <container_id_or_name>
: 查看指定容器的标准输出(stdout)和标准错误(stderr)日志。
实时查看日志
docker logs -f <container_id_or_name>
: 实时跟踪日志输出(类似于tail -f
)。
查看最近的日志
docker logs --tail <number_of_lines> <container_id_or_name>
: 查看最近的指定行数的日志。例如,查看最近的 100 行日志:docker logs --tail 100 <container_id_or_name>
查看特定时间范围的日志
-
docker logs --since <timestamp> <container_id_or_name>
: 查看从指定时间点之后的日志。时间戳可以是日期格式或相对时间(例如1h
表示过去一小时)。docker logs --since "2023-05-01T00:00:00" <container_id_or_name> docker logs --since 1h <container_id_or_name>
-
docker logs --until <timestamp> <container_id_or_name>
: 查看到指定时间点之前的日志。docker logs --until "2023-05-01T00:00:00" <container_id_or_name> docker logs --until 1h <container_id_or_name>
组合使用
docker logs -f --tail 100 <container_id_or_name>
: 实时跟踪日志并只显示最近的 100 行。docker logs --since 1h --until 30m <container_id_or_name>
: 查看过去一小时到过去30分钟之间的日志。
示例
假设你有一个容器 ID 为 abc123
,你可以使用以下命令来查看它的日志:
-
查看所有日志:
docker logs abc123
-
实时查看日志:
docker logs -f abc123
-
查看最近的 50 行日志:
docker logs --tail 50 abc123
-
查看过去一小时的日志:
docker logs --since 1h abc123
-
查看从特定时间点之后的日志:
docker logs --since "2023-05-01T00:00:00" abc123
通过这些命令,你可以方便地查看和跟踪 Docker 容器的日志,帮助你进行调试和监控。