Filtrar registros por rango de tiempo
Además de ver todos los registros o los más recientes, también puedes filtrar los registros del contenedor por un rango de tiempo específico. Esto es útil cuando investigas eventos que ocurrieron durante un período particular.
El comando docker logs
proporciona las opciones --since
y --until
para filtrar registros basados en tiempo. Estas opciones aceptan varios formatos de tiempo, incluyendo marcas de tiempo RFC3339, marcas de tiempo Unix o tiempos relativos (ej. 10m
para 10 minutos, 1h
para 1 hora).
Probemos a filtrar registros. Primero, necesitamos generar algunos registros en diferentes momentos. Podemos hacer esto enviando solicitudes curl
al contenedor Nginx nuevamente.
Abre una nueva pestaña de terminal y ejecuta el comando curl
varias veces con un breve retraso entre ellas.
curl http://localhost:80
sleep 5
curl http://localhost:80
sleep 5
curl http://localhost:80
Ahora, veamos los registros del contenedor my-nginx
con marcas de tiempo para ver los momentos de estas solicitudes.
docker logs -t my-nginx
Observa las marcas de tiempo de las entradas de registro generadas por los comandos curl
.
Para filtrar registros desde un momento específico, puedes usar la opción --since
. Por ejemplo, para ver registros generados en el último minuto:
docker logs --since 1m my-nginx
Este comando mostrará todas las entradas de registro del contenedor my-nginx
que se generaron en el último minuto.
También puedes filtrar registros hasta un momento específico usando la opción --until
. Por ejemplo, para ver registros generados hace más de 1 minuto:
docker logs --until 1m my-nginx
Este comando mostrará todas las entradas de registro del contenedor my-nginx
que se generaron hace más de un minuto.
Puedes combinar --since
y --until
para ver registros dentro de una ventana de tiempo específica. Por ejemplo, para ver registros entre hace 5 minutos y hace 1 minuto:
docker logs --since 5m --until 1m my-nginx
Recuerda que la salida exacta dependerá de cuándo ejecutaste los comandos curl
y cuándo ejecutas los comandos docker logs
.