Logs nach Zeitraum filtern
Zusätzlich zur Anzeige aller Logs oder nur der neuesten Einträge können Sie Container-Logs auch nach einem bestimmten Zeitraum filtern. Dies ist besonders nützlich, wenn Sie Ereignisse untersuchen, die während eines bestimmten Zeitfensters aufgetreten sind.
Der docker logs
-Befehl bietet die Optionen --since
und --until
zur Zeitfilterung von Logs. Diese Optionen akzeptieren verschiedene Zeitformate, darunter RFC3339-Zeitstempel, Unix-Zeitstempel oder relative Zeitangaben (z.B. 10m
für 10 Minuten, 1h
für 1 Stunde).
Lassen Sie uns die Log-Filterung testen. Zuerst müssen wir Logs zu verschiedenen Zeitpunkten generieren. Dies können wir durch erneute curl
-Anfragen an den Nginx-Container erreichen.
Öffnen Sie einen neuen Terminal-Tab und führen Sie den curl
-Befehl mehrmals mit kurzen Pausen dazwischen aus.
curl http://localhost:80
sleep 5
curl http://localhost:80
sleep 5
curl http://localhost:80
Nun zeigen wir die Logs des my-nginx
-Containers mit Zeitstempeln an, um die Zeitpunkte dieser Anfragen zu sehen.
docker logs -t my-nginx
Beachten Sie die Zeitstempel der durch die curl
-Befehle generierten Log-Einträge.
Um Logs ab einem bestimmten Zeitpunkt zu filtern, können Sie die Option --since
verwenden. Beispielsweise, um Logs der letzten Minute anzuzeigen:
docker logs --since 1m my-nginx
Dieser Befehl zeigt alle Log-Einträge des my-nginx
-Containers an, die in der letzten Minute generiert wurden.
Sie können Logs auch bis zu einem bestimmten Zeitpunkt filtern, indem Sie die Option --until
verwenden. Beispielsweise, um Logs anzuzeigen, die vor mehr als einer Minute generiert wurden:
docker logs --until 1m my-nginx
Dieser Befehl zeigt alle Log-Einträge des my-nginx
-Containers an, die vor mehr als einer Minute generiert wurden.
Sie können --since
und --until
kombinieren, um Logs innerhalb eines bestimmten Zeitfensters anzuzeigen. Beispielsweise, um Logs zwischen vor 5 Minuten und vor 1 Minute anzuzeigen:
docker logs --since 5m --until 1m my-nginx
Beachten Sie, dass die genaue Ausgabe davon abhängt, wann Sie die curl
-Befehle ausgeführt haben und wann Sie die docker logs
-Befehle ausführen.