CodeGym /Cursos /Docker SELF /Trabajo con logs de contenedores

Trabajo con logs de contenedores

Docker SELF
Nivel 11 , Lección 3
Disponible

4.1 Fundamentos del comando docker logs

El comando docker logs es una herramienta práctica para monitorear y depurar contenedores. Con su ayuda, los desarrolladores y administradores del sistema pueden revisar los logs de los contenedores, lo que ayuda a diagnosticar problemas y analizar el funcionamiento de las aplicaciones. En esta lección, analizaremos en detalle cómo usar el comando docker logs, qué parámetros están disponibles y cómo gestionar los logs de manera eficiente.

El comando docker logs muestra los logs del contenedor especificado. Estos logs incluyen todos los mensajes registrados por los procesos dentro del contenedor en los flujos de salida estándar (stdout) y de errores (stderr).

Sintaxis


docker logs [OPTIONS] CONTAINER

Dónde:

  • CONTAINER: el nombre o identificador del contenedor cuyos logs quieres ver.
  • OPTIONS: parámetros adicionales para personalizar la salida de los logs.

Ejemplo de uso básico

Este comando mostrará todos los logs acumulados del contenedor my_container.

Terminal


docker logs my_container

4.2 Parámetros del comando docker logs

El comando docker logs tiene varias opciones que te permiten configurar la salida de logs para necesidades específicas.

1. Ver logs en tiempo real

Para ver logs en tiempo real, se usa el parámetro -f (follow). Este parámetro te permite seguir las actualizaciones de los logs a medida que aparecen, similar al comando tail -f.

Terminal


docker logs -f my_container 

2. Limitar el número de líneas mostradas

Puedes limitar el número de líneas mostradas por el comando docker logs usando el parámetro --tail. Esto es útil si solo necesitas las últimas líneas de los logs y no todo el registro.

Terminal


docker logs --tail 100 my_container 

Este ejemplo mostrará solo las últimas 100 líneas de los logs del contenedor my_container.

3. Mostrar logs desde un momento específico

El parámetro --since permite mostrar logs desde un momento específico. La fecha y hora pueden especificarse en formato de marca de tiempo (por ejemplo, 2023-07-20T15:00:00) o en formato relativo (por ejemplo, 1h para los logs de la última hora).

Terminal


docker logs --since "2023-07-20T15:00:00" my_container 

O

Terminal


docker logs --since 1h my_container 

4. Mostrar logs hasta un momento específico

El parámetro --until permite mostrar logs hasta un momento específico. El formato de tiempo es similar al parámetro --since.

Terminal


docker logs --until "2023-07-20T16:00:00" my_container 

O

Terminal


docker logs --until 10m my_container 

5. Unificar stdout y stderr

Por defecto, el comando docker logs muestra tanto el flujo estándar de salida (stdout) como el flujo estándar de errores (stderr). Puedes especificar qué flujos mostrar usando los parámetros --stdout y --stderr.

Terminal


docker logs --stdout my_container 

Este ejemplo mostrará solo los mensajes del flujo estándar de salida.

4.3 Ejemplos de uso

Ejemplo 1: ver las últimas líneas de logs y seguir actualizaciones

Este ejemplo mostrará las últimas 50 líneas de logs del contenedor my_container y seguirá las nuevas entradas en tiempo real.

Terminal


docker logs -f --tail 50 my_container 

Ejemplo 2: mostrar logs de las últimas 24 horas

Este ejemplo mostrará todos los logs acumulados durante las últimas 24 horas para el contenedor my_container.

Terminal


docker logs --since 24h my_container 

Ejemplo 3: mostrar logs de un período específico

Este ejemplo mostrará los logs registrados entre las 15:00 y las 16:00 del 20 de julio de 2023 para el contenedor my_container.

Terminal


docker logs --since "2023-07-20T15:00:00" --until "2023-07-20T16:00:00" my_container 

4.4 Escenarios prácticos

1. Depuración de aplicaciones

Si tu aplicación no funciona correctamente o se "cae", revisar los logs puede ayudarte a diagnosticar el problema. Usa el comando docker logs para encontrar errores y advertencias en los logs.

Terminal


docker logs my_app_container 

2. Monitoreo del servidor

Para monitorear el funcionamiento del servidor en tiempo real, puedes usar el comando docker logs con la opción -f.

Terminal


docker logs -f web_server_container 

Esto te permite seguir las solicitudes y respuestas del servidor en tiempo real.

3. Análisis de rendimiento

Si quieres analizar el rendimiento de la aplicación durante un período de tiempo específico, utiliza los parámetros --since y --until.

Terminal

        
docker logs --since "2023-07-20T00:00:00" --until "2023-07-20T23:59:59" my_app_container 
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION