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