docker容器日志查看常用命令及线上日志排查

 更新时间:2024年01月04日 16:05:59   作者:5=0  
这篇文章主要给大家介绍了关于docker容器日志查看常用命令及线上日志排查的相关资料, Docker是一种容器化技术,使用它的过程中需要查看Docker的日志输出来调试或解决问题,需要的朋友可以参考下

基本查看日志命令

  • 查看最新日志:
docker logs <container_name_or_id>
docker logs imc-system

将 <container_name_or_id> 替换为容器的名称或容器ID。这将显示容器的最新日志输出。

  • 实时查看日志:
docker logs -f <container_name_or_id>
docker logs -f imc-system

使用 -f 参数,你可以实时跟踪容器的日志输出,类似于 tail -f 命令。

  • 查看指定行数的日志:
docker logs --tail <number_of_lines> <container_name_or_id>
docker logs --tail 50 imc-system

使用 --tail 参数,可以指定查看的日志行数。将 <number_of_lines> 替换为你希望查看的行数。

  • 查看时间戳:
docker logs --timestamps <container_name_or_id>
docker logs --timestamps imc-system

使用 --timestamps 参数,可以在日志中显示时间戳。

  • 查看之前的日志:
docker logs --since <timestamp> <container_name_or_id>
docker logs --since '2023-07-20T06:00:00' imc-system

使用 --since 参数,可以查看指定时间之后的日志。将 <timestamp> 替换为时间戳,例如 YYYY-MM-DDTHH:MM:SS

  • 查看最近的日志:
docker logs --until <timestamp> <container_name_or_id>
docker logs --until '2023-07-20T06:00:00' imc-system

对于最近的日志,使用 --until 参数,可以查看指定时间之前的日志。将 <timestamp> 替换为时间戳,例如 YYYY-MM-DDTHH:MM:SS

请注意,<container_name_or_id> 可以是容器的名称或者容器的唯一ID。你可以使用 docker ps 命令来获取运行中容器的名称或ID。

线上日志排查

在线上排除 Docker 日志时,常用的逻辑是根据日志内容或其他标识进行筛选和过滤,以便只关注特定关键信息,降低噪音和冗余。以下是一些常用的逻辑和方法:

  • 根据关键词过滤: 使用 grep 命令或其他文本搜索工具,根据关键词过滤日志,只显示包含特定关键词的日志行。例如:

    docker logs <container_name_or_id> | grep "ERROR"
    

    这将只显示包含 “ERROR” 关键词的日志行。

  • 时间范围过滤: 使用 --since 和 --until 参数,可以根据时间范围过滤日志,只查看特定时间段内的日志。例如:

    docker logs --since "2023-07-01T00:00:00" --until "2023-07-20T23:59:59" <container_name_or_id>
    

    这将显示从 2023 年 7 月 1 日到 2023 年 7 月 20 日的日志。

  • 最近N行日志: 使用 --tail 参数,可以只查看最近的 N 行日志。例如:

    docker logs --tail 100 <container_name_or_id>
    

    这将显示容器最近的100行日志。

  • 日志输出至文件: 将日志输出到文件,以便后续离线查看和分析。可以使用重定向符号 > 将日志输出到文件,例如:

    docker logs <container_name_or_id> > container_logs.txt
    
  • 实时日志监控: 使用 -f 参数实时监控日志输出,类似于 tail -f 命令。例如:

    docker logs -f <container_name_or_id>
    
  • 使用日志驱动: Docker 支持多种日志驱动,可以根据需要选择适合的驱动,例如 json-filesyslogfluentd 等。这些驱动可以帮助你将日志传输到中央日志收集系统,方便集中管理和分析。

  • 结合日志管理工具: 使用日志管理工具,如 ELK (Elasticsearch, Logstash, Kibana) 或 Fluentd + Elasticsearch + Kibana,可以实现更高级的日志收集、存储、搜索和可视化功能。

请根据你的具体需求和场景选择合适的方法,确保对关键信息进行及时监控和分析,同时减少不必要的日志记录和输出,以免影响性能和造成存储浪费。

总结

到此这篇关于docker容器日志查看常用命令及线上日志排查的文章就介绍到这了,更多相关docker容器日志查看命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker安装wordpress并配置数据库超详细介绍版

    Docker安装wordpress并配置数据库超详细介绍版

    安装WordPress是一项常见的任务,使用Docker可以使这个过程更加简单和可靠,下面这篇文章主要给大家介绍了关于Docker安装wordpress并配置数据库的相关资料,需要的朋友可以参考下
    2023-11-11
  • Docker 部署 MongoDB容器的方法

    Docker 部署 MongoDB容器的方法

    Docker就可以帮助我们将开发的应用程序,以及该程序的依赖包都打包在一个文件里,下面通过本文给大家分享Docker 部署 MongoDB的详细教程,感兴趣的朋友一起看看吧
    2021-06-06
  • 详解如何使用Docker部署一个web项目并打包成镜像文件

    详解如何使用Docker部署一个web项目并打包成镜像文件

    这篇文章主要介绍了详解如何使用Docker部署一个web项目并打包成镜像文件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Docker安装部署rocketmq-console工具教程

    Docker安装部署rocketmq-console工具教程

    这篇文章主要介绍了Docker安装部署rocketmq-console工具教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • 浅析Docker镜像分层的注意事项

    浅析Docker镜像分层的注意事项

    不知道大家在对程序进行Docker镜像打包会不会有些疑惑,比如镜像分层打包最后汇总成程序的镜像问题,所以这篇针对一些问题进行了分析,文章主要介绍了Docker镜像分层的一些注意事项,有需要的朋友们可以参考学习,下面来一起看看吧。
    2016-10-10
  • 使用Docker CE 还是 Docker EE

    使用Docker CE 还是 Docker EE

    这篇文章主要介绍了使用Docker CE 还是 Docker EE,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2007-06-06
  • 连接docker里面的mysql失败解决方法

    连接docker里面的mysql失败解决方法

    这篇文章主要介绍了连接docker里面的mysql失败解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 阿里云部署Docker私有镜像仓库的实现步骤

    阿里云部署Docker私有镜像仓库的实现步骤

    本文主要介绍了阿里云部署Docker私有镜像仓库的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • docker安装ros2详细步骤介绍

    docker安装ros2详细步骤介绍

    大家好,本篇文章主要讲的是docker安装ros2详细步骤介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • docker环境下数据库的备份(postgresql, mysql) 实例代码

    docker环境下数据库的备份(postgresql, mysql) 实例代码

    这篇文章主要介绍了docker环境下数据库的备份(postgresql, mysql) ,需要的朋友可以参考下
    2019-05-05

最新评论