6.1 Funciones principales del comando docker logs
El registro de contenedores es una parte importante de la gestión y monitoreo de aplicaciones en Docker. Los registros permiten rastrear el comportamiento de los contenedores, diagnosticar problemas y entender cómo funcionan las aplicaciones dentro de los contenedores. En esta lección, vamos a ver en detalle cómo usar el comando docker logs para registrar los contenedores.
Funciones principales del comando docker logs
El comando docker logs se utiliza para extraer y visualizar los registros de los contenedores. Permite:
- Visualizar la salida estándar (stdout) y la salida estándar de errores (stderr) del contenedor.
- Filtrar y seguir los registros en tiempo real.
- Buscar y analizar registros para diagnosticar problemas.
6.2 Uso del comando docker logs
1. Ver los registros del contenedor
Para ver los registros del contenedor, usa el comando:
docker logs <container_id_or_name>
Ejemplo:
docker logs my_container
Este comando mostrará todos los registros del contenedor my_container.
2. Monitorizar registros en tiempo real
Para monitorizar los registros en tiempo real, utiliza la opción -f (o --follow):
docker logs -f <container_id_or_name>
Ejemplo:
docker logs -f my_container
Este comando mostrará los nuevos registros a medida que aparezcan.
3. Limitar el número de líneas mostradas
Para limitar el número de líneas mostradas por el comando docker logs, utiliza la opción --tail:
docker logs --tail <number_of_lines> <container_id_or_name>
Ejemplo:
docker logs --tail 10 my_container
Este comando mostrará las últimas 10 líneas de los registros del contenedor my_container.
4. Mostrar los registros desde un momento específico
Para mostrar los registros desde un momento específico, utiliza la opción --since:
docker logs --since <timestamp> <container_id_or_name>
Ejemplo:
docker logs --since 2022-01-01T00:00:00 my_container
Este comando mostrará los registros del contenedor my_container desde el 1 de enero de 2022.
5. Mostrar los registros hasta un momento específico
Para mostrar los registros hasta un momento específico, utiliza la opción --until:
docker logs --until <timestamp> <container_id_or_name>
Ejemplo:
docker logs --until 2022-01-02T00:00:00 my_container
Este comando mostrará los registros del contenedor my_container hasta el 2 de enero de 2022.
6.3 Ejemplos de uso de docker logs
Ejemplo 1: Diagnóstico de un error en la aplicación
Si tu aplicación dentro de un contenedor se cierra inesperadamente con un error, puedes usar docker logs para diagnosticar la causa:
docker logs my_app_container
Ver los logs puede ayudarte a entender qué salió mal y por qué la aplicación se cerró con error.
Ejemplo 2: Monitorear un servicio
Para monitorear un servicio web en tiempo real, usa el flag -f:
docker logs -f web_service_container
Este comando te permitirá ver todos los nuevos logs que llegan al servicio web.
Ejemplo 3: Analizar logs de un período específico
Si necesitas analizar logs de un período específico, usa los flags --since y --until:
docker logs --since "2023-07-01" --until "2023-07-02" my_app_container
Este comando mostrará los logs del contenedor my_app_container del 1 de julio de 2023.
6.4 Configuración de drivers de registro Docker
Docker soporta varios drivers de registro que se pueden configurar para los contenedores. Los drivers de registro principales incluyen:
-
json-file: Por defecto. Los registros se almacenan en archivos en formato JSON. syslog: Los registros se envían al diario del sistema (syslog).journald: Los registros se envían al sistema journald.-
gelf: Los registros se envían a servidores que soportan el protocolo GELF (Graylog Extended Log Format). fluentd: Los registros se envían al servidor Fluentd.
Configuración del driver de registro
Para configurar el driver de registro, utiliza la bandera --log-driver al iniciar el contenedor:
docker run --log-driver <driver_name> <container_image>
Ejemplo:
docker run --log-driver syslog my_app_image
Este ejemplo inicia un contenedor utilizando el driver de registro syslog.
Configuración de parámetros de registro
Puedes especificar parámetros de registro utilizando la bandera --log-opt:
docker run --log-driver syslog --log-opt syslog-address=udp://localhost:514 my_app_image
GO TO FULL VERSION