linux查看docker日志,linux:有效使用docker logs查看日志

在开发基于Docker的应用程序时,能够在日志中查找特定信息并将此数据保存到文件中可以加快故障排除和调试过程。以下是使用日志选项,tail和grep在docker容器的日志数据中查找所需内容的一些提示。

I. 显示所有日志

在启动Docker容器(例如with)时docker-compose up,它将自动显示日志。如果你在后台运行它们,例如使用docker-compose up -d或从不同的终端运行它们,则可以使用以下方式显示日志:

但是,这将为你提供大量信息。

II. 跟踪容器日志

使用docker-compose,你可以指定要使用的容器日志(在位于docker-compose文件的当前目录执行):

docker-compose logs [options] [SERVICE...]

调试特定应用程序时,一个有用的选项是持续实时查看日志输出。这意味着你可以启动容器,测试功能并查看在使用时发送到日志的内容。

--follow , -f

另一种方法是测试你的应用程序,然后在日志中搜索特定信息,以向你显示它的工作情况(或不是!!!)。有两个基于Unix命令的命令可用于此目的。

III. 使用tail和grep切片和搜索日志

该tail命令输出n文件末尾的最后一行数。例如:

要查看docker日志中的最新输出,你可以直接在日志文件中使用它,也可以使用docker --tail选项。

--tail 从日志末尾显示的行数

另外,可以与日志一起使用的另一个Bash命令是grep返回包含指定字符串的行。例如:

docker-compose logs | grep success

这将显示docker容器记录的所有想要的信息。非常有用,可以看到你需要关注开发的重点。

按时间记录

如果你知道要关注的时间段,例如你知道存在问题的时间,则可以告诉docker使用时间戳显示时间戳

--timestamps , -t

选择一个特定的时间段--since和--until选项(仅适用于docker logs,不是docker-compose logs):

--since从时间戳(例如2013-01-02T13:23:37)或相对(例如42分钟42米)显示日志

--until在时间戳(例如2013-01-02T13:23:37)或相对之前显示日志(例如42分钟42米)

例如,如果我想在前面的示例中看到日志接近info的消息,我将执行:

组合命令

你可以将这些选项和命令组合在一起,以使用你需要的信息来定位日志的特定区域。在下面的示例中,我们将-t timestamps选项与--tail容器日志的最后5行组合nginx_repo,然后在这些行中搜索包含INFO仅查看INFO级别记录的行的行。

如果要在所有内容中查找,这里可以替换成all

将日志写入文件

现在你已掌握了docker logs命令以及如何准确找到所需内容,请使用此命令将数据发送到日志文件。使用Bash或替代shell(如Zsh),>>命令后跟文件名输出并将数据保存到该文件。

你可能希望使用它来为特定日志数据创建日志文件。例如,在调试时,你可以创建警告或错误。

现在我的nginx_repo.log文件内容包含:

这意味着你可以使用与文本文件一起使用的所有其他应用程序和命令,并将它们应用于此日志数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值