1、查看容器所有日志
docker logs <容器名称或ID>
2、查看容器最新日志
docker logs -f <容器名称或ID>
3、查看指定时间范围内的容器日志
docker logs --since=<开始时间> --until=<结束时间> <容器名称或ID>
docker logs --since=2022-01-01T00:00:00 --until=2022-01-01T01:00:00 <容器名称或ID>
4、查看容器日志并实时输出
docker logs -f --tail=<行数> <容器名称或ID>
?5、导出全部的log到文件
docker logs dockerId >>log.txt
6、按照时间导出log信息
(1)显示某个时间点后的log信息。下面命令,查询的是2023年4月28日之后的log信息
docker logs --since="2023-04-28" 容器id >> file.log
(2)也可以是日期+时间或者时间戳
docker logs --since="2023-04-28 00:00:00" 容器id >>file.log
docker logs --since="1682665239" 容器id >>file.log
?可以配合着--until参数,查询某个时间段内的log信息
docker logs --since="2023-04-28T00:00:00" --until "2023-04-28T12:00:00" 容器id >>file.log
(3)相对于现在多长时间的log信息。下面的命令,查询的是过去10分钟的log信息
docker logs --since 10m 容器id >>file.log
(4)按照log中可能包含的字符串,导出log信息
docker logs 容器id |grep '处理失败' >> file.log
?上面的检索我们没办法定位报错信息的上下文可以用-A -B -C匹配
# 打印匹配行的后10行
docker logs 容器id | grep -A 10 '处理失败'
# 打印匹配行的前10行
docker logs 容器id | grep -B 10 '处理失败'
# 打印匹配行的前后10行
docker logs 容器id | grep -C 10 '处理失败'