标签搜索

目 录CONTENT

文章目录

Docker查看容器实时日志方法

沙漠渔
2022-07-28 17:19:02 / 0 评论 / 0 点赞 / 1,504 阅读 / 1,571 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-07-28,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

惯例,遇到了问题才想到这里,前几天在修改别人的一分Go代码,在虚拟机里测试的时候是直接执行的,可以查看日志,确认程序执行情况,今天已经更新至容器内运行,想看看如何查看程序日志,然后就是这样的了。

前言

docker也有类似于tail的命令,就是docker logs,通过使用该命令,可以在宿主机上不进入容器,直接查看容器内的日志,当然方法不限于此,其他方面在下面会一一说明。

命令说明

首先,作为程序员,肯定要首先看的是help了,看看这里说的是什么吧

~$ sudo 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:37) or relative (e.g. 42m for 42 minutes)
      --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:37) or relative (e.g. 42m for 42 minutes)

翻译成人话就是:

使用格式:docker logs [OPTIONS] CONTAINER
docker logs [下方的方法] 容器名

具体方法:
details   : 显示提供给日志的额外详细信息 (不常用)
follow    : 跟随输出 (常用) 可以使用 -f代替
since     : 显示自某个时间之后的日志,时间格式可以是绝对时间也可以是相对时间
tail      : 直接显示的日志行数,默认是all 即将容器的日志全都打印出来(最好是since和tail 至少二选一,不然日志可能会很多)
timestamps: 字面意思,是否显示时间戳  可以使用-t代替
until     : 显示某个时间之前的日志,时间格式可以是绝对时间也可以是相对时间,可以配合since截取日志范围

使用示例

docker logs -f -t --since "2022-07-26" --tail 10 container

即显示时间戳,跟随显示自7月26日之后日志,显示前10行。

另外参考

docker查看日志的三种方式:

1.docker logs --tail 1000 容器名称 (查看容器前多少行的日志)即前面所说的方法

2.docker 容器启动后,可以进入以下位置查看日志(/var/lib/docker/containers/容器ID/容器ID-json.log)(进入容器内部查看日志)

3.docker attach 容器名称(实时查看,但是CTRL+C强制退出以后也会影响容器的进程,导致强制退出),设置 docker attach --sign-proxy=false 容器名称(实时查看日志内容)

0
广告 广告

评论区