在 Docker 中查看容器日志有以下几种常用方法:
docker logs
命令这是最基本和常用的查看日志方法:
# 查看最近日志
docker logs <容器ID或名称>
# 实时查看日志(类似 tail -f)
docker logs -f <容器ID或名称>
# 查看最后N行日志
docker logs --tail=100 <容器ID或名称>
# 查看特定时间段的日志
docker logs --since="2023-01-01" --until="2023-01-02" <容器ID或名称>
# 显示时间戳
docker logs -t <容器ID或名称>
Docker 默认将容器日志存储在宿主机的 /var/lib/docker/containers/<容器ID>/
目录下:
# 查找容器ID对应的日志文件
docker inspect --format='{{.LogPath}}' <容器ID或名称>
# 直接查看日志文件
cat /var/lib/docker/containers/<容器ID>/<容器ID>-json.log
如果配置了其他日志驱动(如 syslog、fluentd 等),需要到相应系统中查看:
# 查看容器使用的日志驱动
docker inspect -f '{{.HostConfig.LogConfig.Type}}' <容器ID或名称>
# 查看所有服务的日志
docker-compose logs
# 查看特定服务的日志
docker-compose logs <服务名>
# 实时查看日志
docker-compose logs -f
# 结合 grep 过滤日志
docker logs <容器ID> | grep "error"
# 结合 less 分页查看
docker logs <容器ID> | less
# 查看特定时间后的日志
docker logs --since "10m" <容器ID>
--log-opt max-size
和 --log-opt max-file
参数限制日志大小和数量希望这些方法能帮助您有效地查看和管理 Docker 容器日志!