docker logs 查找日志常用命令

2024-03-29 12:20

本文主要是介绍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 查找日志常用命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/858577

相关文章

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

我在移动打工的日志

客户:给我搞一下录音 我:不会。不在服务范围。 客户:是不想吧 我:笑嘻嘻(气笑) 客户:小姑娘明明会,却欺负老人 我:笑嘻嘻 客户:那我交话费 我:手机号 客户:给我搞录音 我:不会。不懂。没搞过。 客户:那我交话费 我:手机号。这是电信的啊!!我这是中国移动!! 客户:我不管,我要充话费,充话费是你们的 我:可是这是移动!!中国移动!! 客户:我这是手机号 我:那又如何,这是移动!你是电信!!

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧! 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体

Verybot之OpenCV应用二:霍夫变换查找圆

其实我是想通过这个程序来测试一下,OpenCV在Verybot上跑得怎么样,霍夫变换的原理就不多说了,下面是程序: #include "cv.h"#include "highgui.h"#include "stdio.h"int main(int argc, char** argv){cvNamedWindow("vedio",0);CvCapture* capture;i

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录 在深度学习项目中,目标检测是一项重要的任务。本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 resume 功能继续训练,并将我们复现的模型与Model Zoo中的

docker-compose安装和简单使用

本文介绍docker-compose的安装和使用 新版docker已经默认安装了docker-compose 可以使用docker-compose -v 查看docker-compose版本 如果没有的话可以使用以下命令直接安装 sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-c

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4