【Docker】docker日志详细讲解

1.命令格式

docker logs [OPTIONS] CONTAINER
  Options:
        --details        显示更多的信息
    -f, --follow         跟踪实时日志
        --since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
        --tail string    从日志末尾显示多少行日志, 默认是all
    -t, --timestamps     显示时间戳
        --until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

2.显示所有log

显示某个容器的所有log,OPTIONS表示操作参数,
docker logs [OPTIONS] 容器Id 
或 
docker logs [OPTIONS] 容器名称
显示 docker-compose 启动的所有容器的log
docker-compose logs

3.显示实时 log

效果和Linux的 tail-f filename一样,可以把最新内容刷新显示到屏幕上。

docker logs -f 容器Id
或
docker logs -f 容器名称

4.使用 tail 查看 log 尾部

效果和Linux的 tail-n20 filename 一样,显示最后20行的内容。

docker logs --tail 20 容器Id
或
docker logs --tail 20 容器名称

5.使用 grep 过滤 log

例如查找所有包含 “error” 的log:

docker logs | grep error

6.根据时间查看 log

比如只想查看某个时间点之后的日志,使用 --since 选项,显示从指定时间点到最新的日志

docker logs --since 2018-09-25T12:01:46.452616Z 容器Id
或
docker logs --since 2018-09-25T12:01:46.452616Z 容器名称

–since指定了开始时间点,还可以指定结束时间点,使用选项 --until,显示二者之间的日志:

docker logs --since 2018-09-25T12:01:48.551341Z --until 2018-09-25T12:01:48.561714Z 容器Id
或
docker logs --since 2018-09-25T12:01:48.551341Z --until 2018-09-25T12:01:48.561714Z 容器名称

7.组合使用

tail这些选项都可以放在一起使用,例如:

docker logs --tail 10 容器Id | grep info
或
docker logs --tail 10 容器名称 | grep info

since

docker logs -f --since xxx --tail=10 容器Id
docker logs -f --since xxx --tail=10 容器名称

8.把日志写入文件

grep过滤命令, 把 error 日志都写到指定文件,可以写一个脚本把感兴趣的内容写入文件,进一步还可以导入我们的日志系统,方便查看。

docker logs -t 容器Id  | grep 错误信息 >> logs_error.txt
或
docker logs -t 容器名称 | grep 错误信息 >> logs_error.txt

cat 捕获命令将所有信息指定日志文件里面

docker logs -t 容器Id  | cat >> logs_error.txt
或
docker logs -t 容器名称  | cat >> logs_error.txt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值