当前位置: 首页 > news >正文

docker logs 查找日志常用命令

docker logs 是什么

docker logs 是 Docker 命令行工具提供的一个命令,用于查看容器的日志输出。它可以显示容器在运行过程中生成的标准输出(stdout)和标准错误输出(stderr),帮助用户诊断容器的行为和排查问题。

docker logs 作用

  1. 故障排除:容器在运行过程中可能会发生各种问题,如错误、异常或崩溃。使用 docker logs 可以查看容器的日志输出,从中获取关于问题发生的线索,帮助诊断和解决故障。
  2. 监控和日志分析:通过分析容器的日志,可以了解容器的运行状态、性能指标和行为模式。这对于监控容器的健康状况、性能调优和故障预测都非常重要。
  3. 应用程序调试:当容器中的应用程序出现 bug 或异常行为时,docker logs 可以提供应用程序输出的详细日志。这些日志有助于开发人员定位和修复问题,并进行应用程序调试。
  4. 日志记录和审计:通过将容器的日志输出到中央日志收集系统,可以实现日志的集中存储和管理。这样可以更方便地进行日志分析、报告生成、安全审计和合规性检查。
  5. 安全分析:容器的日志可以提供有关容器和应用程序的安全相关信息,如潜在的攻击行为、异常访问模式和安全事件。利用 docker logs 可以监视容器的日志,及时发现和响应安全问题。

官方文档

链接地址:https://docs.docker.com/reference/cli/docker/container/logs/

里面有详细的记录

img

常用命令

帮助命令 --help

在命令行中运行 docker logs --help 时,它会显示有关 docker logs 命令的帮助信息,包括命令的语法、可用选项以及它们的说明。这个帮助信息可以帮助你理解和正确使用 docker logs 命令。

docker logs --help

img

日志详情 --details

显示全部的日志详情

使用 --details 选项后,docker logs 命令会在输出日志消息时包含以下元数据信息:

  1. 容器名称或 ID:显示生成日志消息的容器的名称或 ID。
  2. 时间戳:显示日志消息生成的时间戳。
  3. 标签(标准输出和标准错误):区分标准输出(stdout)和标准错误(stderr)的标签,以便更清楚地识别消息的来源。

docker logs 默认就是 --details

docker logs --details 32ed2147d371
docker logs 32ed2147d371

img

img

最后n行数据 -n --tail

–tail 是 Docker Logs 命令的一个选项,用于限制显示容器日志的行数。通过指定 --tail 后面的数字参数,你可以只显示最后几行的日志内容。

-n和–tail效果一样

docker logs --tail 3 29e77cf8e4af
docker logs -n 3 29e77cf8e4af

img

img

实时日志输出 -f --follow

–follow 是 Docker Logs 命令的一个选项,用于实时跟踪容器的日志输出。当你在命令行中执行 docker logs --follow(或简写为 docker logs -f)时,它将以实时方式显示容器的日志,并持续输出新的日志内容。

docker logs --follow 29e77cf8e4af
docker logs -f 29e77cf8e4af

img

img

img

img

显示日志时间戳 -t

-t 是 Docker Logs 命令的一个选项,用于在日志输出中包含时间戳。当你在命令行中执行 docker logs -t 时,它会在每条日志消息前显示时间戳信息。

docker logs --tail 3  --timestamps 29e77cf8e4af
docker logs -n 3  -t 29e77cf8e4af 

img

img

显示从某个时刻以来的日志 -since

–since 是 Docker Logs 命令的一个选项,用于限制显示容器日志的起始时间。通过指定 --since 后面的时间参数,你可以只显示从指定时间点后生成的日志内容。

注意,时间参数可以使用多种格式,如 ISO 8601(例如:“2022-01-01T00:00:00”)、UNIX 时间戳、相对时间(例如:“1h ago” 表示一小时前)等。

// 查看从2024-03-28T11:43:00.015后的日志
docker logs --since='2024-03-28T11:43:00.015' 29e77cf8e4af
// 查看最近5分钟的日志
docker logs --since='5m' 29e77cf8e4af

img

img

显示指定时刻之前的日志 --until

–until 是 Docker Logs 命令的一个选项,用于限制显示容器日志的结束时间。通过指定 --until 后面的时间参数,你可以只显示在指定时间点之前生成的日志内容

注意,时间参数可以使用多种格式,如 ISO 8601(例如:“2022-01-01T00:00:00”)、UNIX 时间戳、相对时间(例如:“1h ago” 表示一小时前)等。

显示到2024-03-28 11:25:55为止的日志
docker logs --until='2024-03-28 11:25:55' 29e77cf8e4af
显示5分钟前的日志
docker logs --until='5m' 29e77cf8e4af

img

img

img

使用grep过滤日志

docker logs 命令本身并不支持直接使用 grep 进行过滤。然而,你可以通过结合使用管道(|)和 grep 命令来在 Docker 日志中进行文本匹配和过滤。

docker logs 29e77cf8e4af | grep '2024-03-28 11:25:58'
docker logs 29e77cf8e4af | grep 2024 | grep 03 | grep 184

img

img

 # 打印匹配行的前后3行
docker logs 29e77cf8e4af | grep -3 '2024-03-28 11:25:58.184' # 打印匹配行的前后3行
docker logs 29e77cf8e4af | grep -C 3 '2024-03-28 11:25:58.184' 
# 打印匹配行的前后3行
docker logs 29e77cf8e4af | grep -A 3 -B 3 '2024-03-28 11:25:58.184'  # 打印匹配行的后3行
docker logs 29e77cf8e4af | grep -A 3 '2024-03-28 11:25:58.184' # 打印匹配行的前3行
docker logs 29e77cf8e4af | grep -B 3 '2024-03-28 11:25:58.184' 

# 打印匹配行的前后3行

docker logs 29e77cf8e4af | grep -3 ‘2024-03-28 11:25:58.184’

img

# 打印匹配行的前后3行

docker logs 29e77cf8e4af | grep -C 3 ‘2024-03-28 11:25:58.184’

img

# 打印匹配行的前后3行

docker logs 29e77cf8e4af | grep -A 3 -B 3 ‘2024-03-28 11:25:58.184’

img

# 打印匹配行的后3行

docker logs 29e77cf8e4af | grep -A 3 ‘2024-03-28 11:25:58.184’

img

# 打印匹配行的前3行

docker logs 29e77cf8e4af | grep -B 3 ‘2024-03-28 11:25:58.184’

img

常用命令

# 查询指定时间范围内的日志信息
# 注意一定要按docker logs --help 中的说明的时间格式,格式是:2024-03-28T11:43:00.015这种
docker logs --since="2024-03-28T11:43:00.015" --until="2024-03-28T11:44:00.015" 29e77cf8e4af# 查询最近30分钟内的日志
docker logs --since 30m 29e77cf8e4af# 查询最近30分钟前的日志
docker logs --until 30m 29e77cf8e4af# 实时查看最近的100条日志信息(很常用)
docker logs -f --tail 100 29e77cf8e4af# 从日志中查找指定的内容(可以有多个grep)
docker logs 29e77cf8e4af | grep '关键字'# 从日志中查找指定的内容 -> 多个grep
先查找出包含2024的,再从中查找包含03,最后再查找包含184的
docker logs 29e77cf8e4af | grep 2024 | grep 03 | grep 184# 查询指定时间范围内的日志,并且包含特定的字符
docker logs --since="2024-03-28T13:00:00" --until="2024-03-28T14:00:00" 29e77cf8e4af |grep -30  '关键字'

相关文章:

docker logs 查找日志常用命令

docker logs 是什么 docker logs 是 Docker 命令行工具提供的一个命令,用于查看容器的日志输出。它可以显示容器在运行过程中生成的标准输出(stdout)和标准错误输出(stderr),帮助用户诊断容器的行为和排查…...

百卓Smart管理平台 importexport.php SQL注入漏洞复现(CVE-2024-27718)

0x01 产品简介 百卓Smart管理平台是北京百卓网络技术有限公司(以下简称百卓网络)的一款安全网关产品,是一家致力于构建下一代安全互联网的高科技企业。 0x02 漏洞概述 百卓Smart管理平台 importexport.php 接口处存在SQL注入漏洞,攻击者除了可以利用 SQL 注入漏洞获取数据…...

PHP教程_PHP5函数str_replace替换字符串中的字符

PHP教程_PHP5函数str_replace替换字符串中的字符 PHP (PHP: Hypertext Preprocessor) 即 “超文本预处理器”, 是在服务器端执行的脚本语言, 尤其适用于Web开发并可嵌入HTML中。 PHP 语法学习了 C语言, 吸纳 Java 和 Perl 多个语言的特色发展出自己的特色语法, 并根据它们的长…...

Word的”交叉引用“和”插入题注“快捷键设置

Word的”交叉引用“和”插入题注“快捷键设置 在MSWord2021中,可以自定义设置快捷键。方法如下:文件-选项-自定义功能区-键盘快捷方式(自定义)。具体过程如图所示。 最后,按照上述流程将插入题注(Insert…...

小白从0学习ctf(web安全)

文章目录 前言一、baby lfi(bugku-CTF)1、简介2、解题思路1、解题前置知识点2、漏洞利用 二、baby lfi 2(bugku-CTF)1.解题思路1、漏洞利用 三、lfi(bugku CTF)1、解题思路1、漏洞利用 总结 前言 此文章是…...

【嵌入式开发 Linux 常用命令系列 7.4 -- awk 处理文件名,去除后缀只保留文件名】

请阅读【嵌入式开发学习必备专栏 】 文章目录 awk 处理文件名,去除后缀只保留文件名 awk 处理文件名,去除后缀只保留文件名 在 shell 中, 可以使用 awk 来处理文件名,去除其后缀。下面是一个示例命令,它会将带有后缀的…...

Linux重点思考(中)--端口/静态内存/负载/日志

这里写目录标题 知道的linux常用命令:查看指定端口进程netstat -pantunetstat -pantu|grep 22 静态运行内存free硬盘物理内存df和du当前负载uptime查看日志awk统计文件每一行单词sed 替换文件单词 知道的linux常用命令:查看指定端口进程 netstat -pantu…...

【Go】五、流程控制

文章目录 1、if2、switch3、for4、for range5、break6、continue7、goto8、return 1、if 条件表达式左右的()是建议省略的if后面一定要有空格&#xff0c;和条件表达式分隔开来{ }一定不能省略if后面可以并列的加入变量的定义 if count : 20;count < 30 {fmt.Println(&quo…...

数据开发-面试真题。

1. 自我介绍 2.在培训班的学过的项目经历 3.之前的工作经历&#xff0c;以及薪资 4.开始讲之前的项目经历 5.技术面试官开始提问。 kafka中进行数据分层&#xff0c;怎么从kafka中实时查询到相关的数据&#xff0c;一条或几条 6.java中的集合&#xff0c;以及io流 7.给定…...

如何使用免费的ChatGpt3.5

如何使用免费的ChatGpt 最近免费的gpt3.5很多都不怎么行了实在是太给力了尾声 最近免费的gpt3.5很多都不怎么行了 原因是什么呢&#xff1f;因为openai已经取消了免费的5刀赠送&#xff0c;那么这些人手上的免费的sses-key 用完后&#xff0c;就基本上全军覆没了&#xff0c;再…...

Kafka硬核干货

目录 Kafka Kafka Producer Kafka Consumer Consumer Offset Log Manager 如何实现高吞吐、低延迟...

分享几个可以免费使用的GPT网站吧

1. ChatGAI ChatGAI是一个界面简洁的AI平台&#xff0c;提供App和网页版&#xff0c;每日均有免费使用机会。 2. ChatGPT 本网站向大家开放了ChatGPT 3.5和4.0版本的免费体验&#xff0c;特别适合新用户。每天都有免费次数&#xff0c;响应迅速&#xff0c;注册便捷&#xff0…...

MySQL进阶-----前缀索引、单例与联合索引

目录 前言 一、前缀索引 1. 语法 2. 如何选择前缀长度 3. 前缀索引的查询流程 二、单列索引与联合索引 三、索引设计原则 前言 本期是MySQL进阶篇当中索引的最后一期内容&#xff0c;这里我们主要接着上一期继续讲解前缀索引、单例与联合索引。&#xff08;上一期链接&…...

HTTP——Cookie

HTTP——Cookie 什么是Cookie通过Cookie访问网站 我们之前了解了HTTP协议&#xff0c;如果还有小伙伴还不清楚HTTP协议&#xff0c;可以点击这里&#xff1a; https://blog.csdn.net/qq_67693066/article/details/136895597 我们今天来稍微了解一下HTTP里面一个很小的部分&…...

Scala大数据开发

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Scala简述 在此&#xff0c;简要介绍 Scala 的基本信息和情况。 Scala释义 Scala 源自于英语单词scalable&#xff0c;表示可伸缩的、可扩展的含义。 Scala作者 Scala编…...

windows无法使用hadoop报错:系统找不到路径

在windows下安装hadoop-3.1.4,进行环境变量配置后&#xff0c;打开window命令行窗口测试hadoop命令&#xff0c;报错&#xff0c;如图所示&#xff1a; 方案&#xff1a;由于JAVA_HOME路径有空格导致&#xff0c;可修改hadoop下\etc\hadoop\hadoop_env.cmd文档中set JAVA_HOME以…...

从0配置React

在本地安装和配置React项目&#xff0c;您可以使用create-react-app这个官方推荐的脚手架工具。以下是安装React的步骤&#xff0c;包括安装Node.js、使用create-react-app创建React应用&#xff0c;以及启动开发服务器。 下载安装node.js运行以下命令&#xff0c;验证Node.js…...

File和IO流

1. File类常用方法 1.1 获取基本属性 • public String getName() &#xff1a;获取名称 • public String getPath() &#xff1a;获取路径 • public String getAbsolutePath()&#xff1a;获取绝对路径 • public File getAbsoluteFile()&#xff1a;获取绝对路径表示…...

2024系统架构师---解释器架构风格的概念与应用

解释器架构风格是一种软件架构模式&#xff0c;用于构建那些能够读取、解析并执行用户定义的命令或程序代码的系统。这种架构风格的关键在于提供一个运行时环境&#xff0c;它能够理解和执行预定义或用户定义的语言或指令集。通过这种方式&#xff0c;解释器模式能够为特定领域…...

makefile01

什么是makefile Makefile 文件描述了 Linux 系统下 C/C 工程的编译规则&#xff0c;它用来自动化编译 C/C 项目。一旦写编写好 Makefile 文件&#xff0c;只需要一个 make 命令&#xff0c;整个工程就开始自动编译&#xff0c;不再需要手动执行 GCC 命令。一个中大型 C/C 工程…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...