CodeGym /课程 /Docker SELF /操作容器日志

操作容器日志

Docker SELF
第 11 级 , 课程 3
可用

4.1 使用 docker logs 的基础

docker logs 命令 是一个方便的工具,用于监控和调试容器。开发者和系统管理员可以用它查看容器日志,这对诊断问题和分析应用的运行很有帮助。在本讲座中,我们会详细介绍如何使用 docker logs 命令、可用的参数以及如何高效管理日志。

docker logs 命令 会输出指定容器的日志。这些日志包含所有在容器内被进程写入标准输出 (stdout) 和错误输出 (stderr) 的信息。

语法


docker logs [OPTIONS] CONTAINER

其中:

  • CONTAINER: 你想查看日志的容器的名字或ID。
  • OPTIONS: 用于设置日志输出的额外参数。

基本用法示例

该命令会输出容器 my_container 的所有日志。

终端


docker logs my_container

4.2 docker logs命令的参数

docker logs 命令支持多个选项,可以根据特定需要配置日志输出。

1. 实时查看日志

通过使用 -f 参数 (follow),你可以实时查看日志。这个参数可以像命令 tail -f 一样,跟踪日志的更新。

Terminal


docker logs -f my_container 

2. 限制输出的行数

你可以通过 --tail 参数来限制 docker logs 命令输出的行数。如果你只需要最近的几行日志,而不需要整个日志,这是很有用的。

Terminal


docker logs --tail 100 my_container 

这个例子将只显示容器 my_container 最近的100行日志。

3. 从指定时间开始输出日志

使用参数 --since 可以从指定时间开始输出日志。时间可以使用时间戳格式(例如:2023-07-20T15:00:00)或相对格式(例如:1h表示最近一小时的日志)。

Terminal


docker logs --since "2023-07-20T15:00:00" my_container 

或者

Terminal


docker logs --since 1h my_container 

4. 输出到指定时间为止的日志

使用参数 --until 可以输出到指定时间为止的日志。时间格式和参数 --since 一样。

Terminal


docker logs --until "2023-07-20T16:00:00" my_container 

或者

Terminal


docker logs --until 10m my_container 

5. 合并 stdoutstderr

默认情况下,docker logs 命令输出标准输出流 (stdout) 和标准错误流 (stderr)。你可以使用参数 --stdout--stderr 来指定要输出的流。

Terminal


docker logs --stdout my_container 

这个例子将只显示标准输出流中的消息。

4.3 使用示例

示例 1: 查看日志的最后几行并实时跟踪更新

这个示例将输出容器 my_container 日志的最后 50 行并实时跟踪新增日志记录。

Terminal


docker logs -f --tail 50 my_container 

示例 2: 查看过去 24 小时的日志

这个示例将输出容器 my_container 在过去 24 小时内累积的所有日志。

Terminal


docker logs --since 24h my_container 

示例 3: 查看特定时间段的日志

这个示例将输出容器 my_container 在 2023 年 7 月 20 日 15:00 到 16:00 期间记录的日志。

Terminal


docker logs --since "2023-07-20T15:00:00" --until "2023-07-20T16:00:00" my_container 

4.4 实际应用场景

1. 调试应用

如果你的应用程序运行不正常或者“崩溃”了,查看日志可以帮助诊断问题。使用命令 docker logs 来找到日志中的错误和警告信息。

Terminal


docker logs my_app_container 

2. 服务器运行监控

要实时监控服务器运行情况,你可以使用带有 -f 参数的 docker logs 命令。

Terminal


docker logs -f web_server_container 

这能实时跟踪服务器的请求和响应情况。

3. 性能分析

如果你想分析应用在某个时间段内的性能,请使用 --since--until 参数。

Terminal

        
docker logs --since "2023-07-20T00:00:00" --until "2023-07-20T23:59:59" my_app_container 
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION