docker logs命令

概要说明

对于我们后端开发人员来说,docker命令的使用越来越频繁了,这里我主要整理了一下docker logs的相关命令,顾名思义,主要就是针对docker 容器中日志信息的查看的。这里先提供一下docker 命令的官网地址:

https://docs.docker.com/engine/reference/commandline/docker/

打开如下图所示:

img

下面我们就可以进入到docker logs命令的详细说明页面去了解docker logs下都有哪些命令操作,官网的docker logs命令详情地址如下:

https://docs.docker.com/engine/reference/commandline/logs/

img

docker logs命令详情

docker logs --help(查看帮助说明)

我们也可以直接在linux系统中执行docker logs --help命令,来查看这个命令的详细信息,这里我们可以了解到了,我们的docker logs的命令格式为docker logs [OPTIONS] CONTAINER,Options这个是详细的操作内容,-f、-n、-t等参数的说明,Container这个就是我们的docker容器ID或者容器名称了!

[root@localhost gengcc]# docker logs --help

Usage:  docker logs [OPTIONS] CONTAINER

Fetch the logs of a container

Options:
      --details        Show extra details provided to logs
  -f, --follow         Follow log output
      --since string   Show logs since timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)
  -n, --tail string    Number of lines to show from the end of the logs (default "all")
  -t, --timestamps     Show timestamps
      --until string   Show logs before a timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)

显示提供给日志的额外详细信息(–details)

这个暂时不多做解释了,因为我也不是太清楚,我试着执行了一下,感觉是打印的日志信息比较多,不过这个应该是使用的比较少的参数。

docker logs --details kibana

跟踪日志输出(–follow , -f)

这里的跟踪日志输出是指的一直在我们的控制台打印日志信息,–follow和-f效果是一样的

docker logs --follow kibana
docker logs -f kibana

显示自时间戳以来的日志(–since)

显示自时间戳(例如 2013-01-02T13:23:37Z)或相关(例如 42m 为 42 分钟)以来的日志信息,例如下面我们查看kabana容器2021-10-13T16:10:37Z日期开始以来的日志信息,执行的命令如下:

docker logs --since='2021-10-13T07:55:54Z' kibana

执行的效果我们可以看到如下所示:

[root@localhost gengcc]# docker logs --since='2021-10-13T07:55:54Z' kibana
{"type":"log","@timestamp":"2021-10-13T07:55:54Z","tags":["reporting","warning"],"pid":7,"message":"Generating a random key for xpack.reporting.encryptionKey. To prevent pending reports from failing on restart, please set xpack.reporting.encryptionKey in kibana.yml"}
{"type":"log","@timestamp":"2021-10-13T07:55:54Z","tags":["reporting","warning"],"pid":7,"message":"Reporting plugin self-check generated a warning: Error: Found 'server.host: \"0\"' in settings. This is incompatible with Reporting. To enable Reporting to work, 'xpack.reporting.kibanaServer.hostname: 0.0.0.0' is being automatically to the configuration. You can change to 'server.host: 0.0.0.0' or add 'xpack.reporting.kibanaServer.hostname: 0.0.0.0' in kibana.yml to prevent this message."}
{"type":"log","@timestamp":"2021-10-13T07:55:54Z","tags":["status","plugin:reporting@7.6.2","info"],"pid":7,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2021-10-13T07:55:54Z","tags":["listening","info"],"pid":7,"message":"Server running at http://0:5601"}
{"type":"log","@timestamp":"2021-10-13T07:55:55Z","tags":["info","http","server","Kibana"],"pid":7,"message":"http server running at http://0:5601"}

显示最近行数的日志(-n, --tail)

我们查看一下最近两行的日志信息:

[root@localhost gengcc]# docker logs -n 2 kibana 
{"type":"log","@timestamp":"2021-10-13T07:55:54Z","tags":["listening","info"],"pid":7,"message":"Server running at http://0:5601"}
{"type":"log","@timestamp":"2021-10-13T07:55:55Z","tags":["info","http","server","Kibana"],"pid":7,"message":"http server running at http://0:5601"}

显示日志时间戳(-t)

这个还是比较好理解的,就是我们查看打印的日志会在每一行日志的头部显示时间戳.

[root@localhost gengcc]# docker logs -t kibana
2021-10-13T07:55:54.575524502Z {"type":"log","@timestamp":"2021-10-13T07:55:54Z","tags":["listening","info"],"pid":7,"message":"Server running at http://0:5601"}
2021-10-13T07:55:55.259397171Z {"type":"log","@timestamp":"2021-10-13T07:55:55Z","tags":["info","http","server","Kibana"],"pid":7,"message":"http server running at http://0:5601"}

显示指定时间戳之前的日志(–until)

在时间戳(例如 2013-01-02T13:23:37Z)或相关(例如 42m 为 42 分钟)之前显示日志,这个命令其实和上面的–since的命令是相对的,一般我们查询时间区间的时间组合使用。

如下我们查询2021-07-03T00:10:15Z之前的日志信息:

[root@localhost gengcc]# docker logs --until="2021-07-02T14:05:05Z" kibana
{"type":"log","@timestamp":"2021-07-02T14:04:43Z","tags":["info","plugins-service"],"pid":7,"message":"Plugin \"case\" is disabled."}

docker logs常用命令

这里我们简单的总结一下docker logs常用的命令,其实上面的一些命令在我们使用的时候都是组合使用的,下面我们直接列举一下:

# 查询指定时间范围内的日志信息,这里要注意一定要看docker logs --help 的说明,说明下的格式是2021-10-07T23:36:00Z这种
docker logs --since="2021-10-07T23:35:00Z" --until="2021-10-07T23:36:00Z" CONTAINER(容器名称或者ID)


# 查询最近30分钟内的日志
docker logs --since 30m CONTAINER(容器名称或者ID)


# 实时查看最近的100条日志信息(也看一下时间戳)
docker logs -f -t --tail 100 CONTAINER(容器名称或者ID)

# 根据指定的内容查看,这个grep 主要是在docker命令后面,这个要注意一下
docker logs CONTAINER(容器名称或者ID) | grep '关键字'
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值