我们在服务器端经常要根据服务器日志排查问题,每当我们的服务通过docker部署,想要检索日志该怎么排查比较方便呢,下面提供两种方法:
一.通过查找宿主机日志路径,通过Linux命令查看即可。
1.1 查看容器日志路径
查看自己的容器ID,通过docker ps命令
查看容器对应的日志路径
docker inspect fe65b0dbf0f7
找到LogPath参数:
1.2 按照日志路径检索日志
grep "XXXX" /data/docker_home/containers/fe65b0dbf0f7eb9582598eb51db019f65746c6a72fafbf0319e0ca0f4a9dd6b1/fe65b0dbf0f7eb9582598eb51db019f65746c6a72fafbf0319e0ca0f4a9dd6b1-json.log
大日志文件操作可以结合Linux其他命令检索即可。
二、通过docker命令检索日志
命令格式
$ docker logs [OPTIONS] CONTAINER
Options:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
2.1 查看指定时间后的日志,只显示最后20行
$ docker logs -f --tail=50 fe65b0dbf0f7
2.2 查看最近10分钟的日志
$ docker logs --since 10m fe65b0dbf0f7
2.3 查看某时间段之后的日志
docker logs -t --since="2023-10-16T08:40:30" fe65b0dbf0f7
2.4 查看某时间段内的日志
$ docker logs -t --since="2023-10-16T08:40:30" --until "2023-10-16T08:50:50" fe65b0dbf0f7
版权归原作者 NettyBoy 所有, 如有侵权,请联系我们删除。