docker查看日志

205 阅读1分钟
docker logs -f [OPTIONS] CONTAINER
命令默认描述
--details显示更多的信息
--follow , -f跟踪日志输出
--since显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail , -nall从日志末尾显示的行数,默认为all
--timestamps , -t显示时间戳
--until显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

查看指定时间后的日志,只显示最后100行:

docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID

查看最近30分钟的日志:

docker logs --since 30m CONTAINER_ID

查看某时间之后的日志:

docker logs -t --since="2021-08-18T11:46:37" CONTAINER_ID

查看某时间之后最新的100条日志:

docker logs -t --since="2021-08-18T11:46:37" --tail=100 CONTAINER_ID

查看某时间段日志:

docker logs -t --since="2021-08-18T11:46:37" --until "2021-08-18T11:47:37" CONTAINER_ID

使用 grep 过滤日志:

docker logs CONTAINER_ID | grep 'error'
docker logs CONTAINER_ID | grep -10 'error'  # 打印匹配行的前后10行
docker logs CONTAINER_ID | grep -C 10 'error'  # 打印匹配行的前后10行
docker logs CONTAINER_ID | grep -A 10 -B 10 'error'  # 打印匹配行的前后10行
docker logs CONTAINER_ID | grep -A 10 'error'  # 打印匹配行的后10行
docker logs CONTAINER_ID | grep -B 10 'error'  # 打印匹配行的前10行

把日志写入文件:

docker logs -t CONTAINER_ID | grep 'error' >> logs_error.txt