docker命令记录,日志(二)

【投稿赢 iPhone 17】「我的第一个开源项目」故事征集:用代码换C位出道! 10w+人浏览 1.6k人参与

# 前一百行
docker logs 8f353c9342c1|head -100

# 后一百行
docker logs 8f353c9342c1|tail -100

docker logs -f --tail=10 jspmpp-business-analysis

docker logs -f --tail 20 8f353c9342c1

docker logs --since '2025-11-17T10:19:49.271' --until '2025-11-17T10:20:49.271' 8f353c9342c1|grep 'Exception'

docker logs -t --details 8f353c9342c1

docker logs 8f353c9342c1|grep -C 10 'error'

docker logs 命令基本语法

docker logs [OPTIONS] CONTAINER

常用参数详解

1. 日志输出控制

  • -f, --follow:实时跟踪日志输出
  • --tail=N:显示最后 N 行日志(默认全部)
  • -t, --timestamps:显示时间戳
  • --since=TIME:显示指定时间之后的日志
  • --until=TIME:显示指定时间之前的日志

2. 日志格式控制

  • --details:显示额外的详细信息
  • -n, --latest:显示最新日志(已弃用,推荐使用 --tail

时间格式说明

  • 相对时间:10m(10分钟)、2h(2小时)、3d(3天)
  • 绝对时间:2024-01-01T10:30:002024-01-01
  • 时间戳:1704061800

实用示例

实时监控日志

# 实时跟踪容器日志 docker logs -f container_name

# 实时跟踪并显示时间戳 docker logs -ft container_name

# 实时跟踪最后20行日志 docker logs -f --tail=20 container_name

时间范围查询

# 查看最近2小时的日志

docker logs --since=2h container_name

# 查看指定时间段的日志

docker logs --since="2024-01-01" --until="2024-01-02" container_name

# 查看10分钟前到5分钟前的日志

docker logs --since=10m --until=5m container_name

组合使用

# 带时间戳显示最近50行日志 docker logs -t --tail=50 container_name

# 实时跟踪并过滤特定时间后的日志 docker logs -f --since="30m" container_name

高级用法

1. 日志驱动相关

Docker 支持多种日志驱动(json-file、syslog、journald等),docker logs 主要适用于默认的 json-file 驱动。

2. 多容器日志查看

对于多个相关容器,可以结合使用:

# 查看所有运行中容器的日志 docker ps -q | xargs -I {} docker logs --tail=10 {}

# 使用 docker-compose 查看服务日志 docker-compose logs -f service_name

3. 日志导出

# 将日志导出到文件 docker logs container_name > container.log 2>&1

# 导出特定时间段的日志 docker logs --since=24h container_name > daily.log

注意事项

  1. 日志大小限制‌:Docker 默认对日志文件大小和数量有限制
  2. 日志驱动兼容性‌:某些日志驱动可能不支持 docker logs 命令
  3. 性能影响‌:长期运行 -f 选项可能占用资源
  4. 日志轮转‌:需要配置日志轮转策略防止磁盘空间耗尽

实际应用场景

  • 故障排查‌:实时监控应用异常和错误信息
  • 性能分析‌:通过时间戳分析请求处理时间
  • 安全审计‌:跟踪用户操作和系统事件
  • 部署验证‌:检查新版本应用启动情况

掌握这些用法可以大大提高容器化应用的运维效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值