docker查看容器日志

查看容器日志的方法一般是使用docker logs命令,下面介绍一下这个命令如何使用。

用法

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

示例

查看某时间之后的日志

docker logs -t --since=2020-09-14T18:00:00 CONTAINER_ID

查看某事件段的日志

docker logs -t --since=2020-09-14T18:00:00 --until=2020-09-14T20:00:00 CONTAINER_ID

查看最近30分钟的日志

docker logs --since=30m CONTAINER_ID

显示最后100行,并跟踪日志输出

docker logs -f -t --tail=100 CONTAINER_ID

特殊情况

如果容器将日志记录到stderr,管道操作将无效,比如以下命令还是会输出所有的日志

docker logs CONTAINER_ID | grep 123

因为管道仅对stdout有效,所以像下面这样略作修改就可以了

docker logs CONTAINER_ID 2>&1 | grep 123

还有一种方式,但是写法比较麻烦

grep 123 `docker inspect --format={{.LogPath}} CONTAINER_ID`

如果正在使用docker-compose的话,可以直接使用docker-compose中的logs命令:

docker-compose logs CONTAINER_ID | grep 123

你可能感兴趣的:(docker,docker,容器,shell)