基礎命令
docker logs <容器ID/名稱>
:查看容器全部日志。docker logs -f <容器ID>
:實時查看日志(類似tail -f
)。docker logs --tail 100 <容器ID>
:僅顯示最后100行日志。docker logs --since "2025-01-01" <容器ID>
:查看指定時間后的日志。docker logs -t <容器ID>
:顯示帶時間戳的日志。查看容器內文件日志
docker exec -it <容器ID> /bin/bash
。cat /var/log/app.log
(需提前將日志輸出到文件)。命令行過濾
grep
篩選關鍵字:docker logs <容器ID> | grep "ERROR"
。awk
提取特定字段(如時間戳)。第三方工具
日志驅動配置
json-file
驅動,日志存儲在/var/lib/docker/containers/<容器ID>/<容器ID>-json.log
。/etc/docker/daemon.json
配置其他驅動(如syslog
、fluentd
),實現集中管理。fluentd
或Logstash
將日志發送至ELK,避免本地日志堆積。--log-opt max-size=10m --log-opt max-file=3
限制單個日志文件大小和數量。參考來源: