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  '关键字'
  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Docker 常用命令: • docker run:启动一个容器docker start:启动一个正在运行的容器docker stop:停止一个正在运行的容器docker build:构建一个镜像 • docker pull:从远程仓库拉取镜像 • docker push:将镜像推送到远程仓库Linux 常用命令: • ls:显示文件或目录的列表 • cd:切换当前目录 • cp:复制文件或目录 • mv:移动文件或目录 • rm:删除文件或目录 • chmod:更改文件或目录的权限 ### 回答2: Docker常用命令: 1. docker run:从镜像创建并启动一个容器。 2. docker ps:列出正在运行的容器。 3. docker stop:停止一个运行中的容器。 4. docker rm:删除一个已停止的容器。 5. docker images:列出本地的镜像。 6. docker pull:从远程仓库拉取镜像。 7. docker push:将本地的镜像推送到远程仓库。 8. docker exec:在运行中的容器中执行命令。 9. docker logs:查看容器日志信息。 10. docker build:根据Dockerfile构建自定义镜像。 Linux常用命令: 1. ls:列出当前目录下的文件和文件夹。 2. cd:切换当前目录。 3. pwd:显示当前所在的目录。 4. mkdir:创建一个新的目录。 5. rm:删除文件或文件夹。 6. cp:复制文件或文件夹。 7. mv:移动文件或文件夹。 8. cat:显示文件的内容。 9. grep:根据关键字在文件中搜索。 10. chmod:修改文件或目录的权限。 这些命令都是在Linux系统中非常常用的,可以帮助用户进行文件管理、容器管理以及软件构建等操作。使用这些命令,用户可以更方便、高效地进行文件和容器的操作。 ### 回答3: docker常用命令: 1. docker ps:列出正在运行的容器。 2. docker images:列出本地的镜像。 3. docker run:运行一个容器。 4. docker stop:停止一个或多个容器。 5. docker rm:删除一个或多个容器。 6. docker start:启动一个停止状态的容器。 7. docker restart:重启一个容器。 8. docker build:根据Dockerfile创建一个镜像。 9. docker pull:从远程仓库下载一个镜像。 10. docker push:将一个镜像推送到远程仓库。 11. docker exec:在正在运行的容器中执行命令。 12. docker logs:查看容器日志。 13. docker commit:将容器的修改保存为新的镜像。 14. docker network:管理容器的网络配置。 Linux常用命令: 1. ls:列出当前目录的文件和子目录。 2. cd:进入指定的目录。 3. pwd:显示当前所在的目录。 4. mkdir:创建一个新的目录。 5. rm:删除文件或目录。 6. cp:复制文件或目录。 7. mv:移动文件或目录。 8. cat:显示文件的内容。 9. grep:在文件中搜索指定的字符串。 10. chmod:修改文件或目录的权限。 11. chown:修改文件或目录的所有者。 12. chgrp:修改文件或目录的所属组。 13. find:在指定路径下查找文件。 14. tar:打包和压缩文件。 15. ping:测试网络连接。 16. ifconfig:查看和配置网络接口。 17. ssh:远程登录到另一台计算机。 18. top:查看系统的实时性能。 19. ps:显示系统中运行的进程。 20. kill:终止正在运行的进程。 以上是Docker常用命令和Linux常用命令的简要介绍。这些命令可以帮助用户管理容器、镜像和文件系统,执行系统操作和网络配置等任务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值