Docker logs 命令

docker logs : 获取容器的日志

语法

docker logs [OPTIONS] CONTAINER

OPTIONS说明:

  • -f : 跟踪日志输出

  • --since :显示某个开始时间的所有日志

  • -t : 显示时间戳

  • --tail :仅列出最新N条容器日志

实例

跟踪查看容器mynginx的日志输出。

runoob@runoob:~$ docker logs -f mynginx
192.168.239.1 - - [10/Jul/2016:16:53:33 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36" "-"
2016/07/10 16:53:33 [error] 5#5: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.239.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.239.130", referrer: "http://192.168.239.130/"
192.168.239.1 - - [10/Jul/2016:16:53:33 +0000] "GET /favicon.ico HTTP/1.1" 404 571 "http://192.168.239.130/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36" "-"
192.168.239.1 - - [10/Jul/2016:16:53:59 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36" "-"
...

查看容器mynginx从2016年7月1日后的最新10条日志。

docker logs --since="2016-07-01" --tail=10 mynginx
### Docker Logs 命令详解 `docker logs` 是用于查看 Docker 容器标准输出和错误输出日志的命令。它提供了多种选项来过滤、格式化以及控制日志输出的内容。 #### 语法结构 基本语法如下所示: ```bash docker logs [OPTIONS] CONTAINER ``` 其中 `[OPTIONS]` 表示可选参数,而 `CONTAINER` 则是要操作的目标容器名称或 ID[^1]。 --- #### 参数解析 以下是常用的 `docker logs` 参数及其作用: - **--details**: 显示额外的日志元数据(如果可用)。 - **--follow (-f)**: 实时跟踪并持续更新最新的日志内容。 - **--since STRING**: 输出自指定日期之后的日志,默认单位为 UTC 时间字符串,例如 `"2023-09-27T15:00:00Z"`。 - **--tail NUMBER**: 仅显示最近的 N 条日志记录。默认值为全部日志。 - **--timestamp (--timestamps, -t)**: 添加时间戳到每一条日志前。 - **--until STRING**: 截断日志至指定的时间点之前。 这些参数可以根据实际需求组合使用以满足不同的场景要求[^4]。 --- #### 示例演示 ##### 查看最后十条日志 通过设置 `--tail` 参数限定返回的数量,下面的例子展示了如何获取名为 `my_container` 的容器中的十行最新日志: ```bash docker logs --tail 10 my_container ``` 此方法适用于快速定位近期发生的事件或者异常情况[^2]。 ##### 追踪实时日志流 启用 `-f` 标记可以让终端保持连接状态,并随着新消息的到来自动刷新屏幕上的展示内容: ```bash docker logs -f my_container ``` 当调试应用程序行为变化频繁的时候特别有用。 ##### 获取带时间标记的历史记录 为了便于分析问题发生的具体时刻,在读取历史档案的同时附加精确计时信息是非常有帮助的: ```bash docker logs --timestamps my_container ``` 另外还可以进一步缩小检索区间,比如只提取某一天之内产生的部分片段: ```bash docker logs --since="2023-09-26T00:00:00" --until="2023-09-27T00:00:00" my_container ``` 这里我们设定了起始时间为前一天凌晨零点整,结束则指向次日凌晨同样位置;当然也可以采用更灵活的方式表达相对偏移量,像这样: ```bash docker logs --since=2h my_container # 展现过去两小时内生成的所有条目 ``` ##### 结合特定服务实例名调用 假如目标是一个叫做 `tomcat8` 的服务器进程,则完整的请求语句可能看起来会是这样的: ```bash docker logs -t -n 8 --since="2022-08-02T13:23:37" --until="2022-08-02T22:23:37" tomcat8 ``` 这段脚本的作用是从数据库里挑选出那个时间段里的八个最晚加入的数据项,并且加上它们各自对应的确切创建瞬间作为备注列出来供参考[^4]。 --- ### 总结 以上就是关于 `docker logs` 命令的一些基础介绍与实践案例分享。无论是日常运维还是紧急排查故障期间,熟练掌握这项技能都将极大地提升工作效率!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值