GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

Registros de Docker:qué son y cómo usarlos (con ejemplos)

En este artículo, le mostraremos todo lo que necesita saber sobre los registros de Docker y cómo trabajar con ellos.

La vida sería mucho más sencilla si las aplicaciones que se ejecutan dentro de los contenedores Docker siempre se comportaran correctamente. Cuando las cosas inevitablemente comienzan a salir mal, necesita información de diagnóstico para descubrir cómo y por qué.

Si es administrador del sistema y es responsable de crear y administrar aplicaciones en contenedores, el registro de docker es uno de los más importantes para usted. Tratar con los registros es una de las mejores maneras de ayudar a revelar errores, ayudar en la depuración y optimizar el rendimiento de su aplicación.

Entonces, profundicemos en el registro de Docker y sus archivos de registro.

Qué son los registros de Docker

Primero, debe comprender cómo se generan los registros.

En pocas palabras, los registros de Docker son la salida de la consola de los contenedores en ejecución . Proporcionan el stdout (salida estándar) y stderr (error estándar) secuencias de procesos que se ejecutan dentro de un contenedor. En un contenedor, Docker observa stdout y stderr y recopila la salida de los flujos, y esta es la fuente de los registros del contenedor.

Iniciar sesión en Docker no es lo mismo que iniciar sesión en otro lugar. En Docker, todo lo escrito en stdout y stderr streams se envía implícitamente a un controlador de registro, que proporciona un mecanismo para acceder a estos flujos y enviar los registros a un archivo. El controlador predeterminado para los registros de Docker es "archivo json", que escribe los registros en archivos locales en el host de Docker en formato JSON.

Todos los registros almacenados en el contenedor se eliminarán cuando finalice o se apague.

El siguiente ejemplo muestra los registros JSON creados con el controlador de archivos json:

{"log":"Adding password for user webdav\n","stream":"stderr","time":"2021-08-01T15:58:05.329724917Z"}

Puede usar el siguiente comando para encontrar el controlador de registro predeterminado actual:

docker info --format '{{.LoggingDriver}}'
json-file

Dónde se almacenan los registros de Docker

Si usa el formato de registro predeterminado, que es JSON, los registros de un contenedor se pueden encontrar en /var/lib/docker/containers/ directorio en un host Linux Docker.

/var/lib/docker/containers/<container-id>/<container-id>-json.log

En la ruta que se muestra arriba, el <container-id> es el id del contenedor en marcha. Si no está seguro de qué id está relacionado con qué contenedor, puede ejecutar docker container ls Comando para enumerar todos los contenedores en ejecución.

docker container ls
CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS          PORTS                                NAMES
99e9b6f4b1a3   jbbodart/alpine-nginx-webdav   "/bin/sh -c '/entryp…"   51 minutes ago   Up 51 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp    webdav

Cómo ver los registros de Docker

Supongamos que estaba ejecutando un contenedor y desea acceder a los registros de Docker para este contenedor. ¿Cómo puedes lograr esta tarea?

Primero, puede usar el siguiente comando para verificar los contenedores que se están ejecutando actualmente:

docker container ls
CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS          PORTS                                NAMES
99e9b6f4b1a3   jbbodart/alpine-nginx-webdav   "/bin/sh -c '/entryp…"   58 minutes ago   Up 58 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp    webdav

Este comando imprime una lista de contenedores en ejecución. En nuestro caso, el parámetro más importante es el ID DEL CONTENEDOR , que usaremos en el siguiente paso.

Ahora que está seguro de que su contenedor se está ejecutando, usemos el ID DEL CONTENEDOR para ver todos sus registros.

Ver registros de Docker

Para consultar los registros del contenedor, use los docker logs comando. Es un comando que muestra toda la información registrada por un contenedor en ejecución. Con docker logs CONTAINER_ID , puede ver todos los registros transmitidos por un contenedor específico identificado por una ID única.

docker logs 99e9b6f4b1a3
172.17.0.1 - webdav [01/Aug/2021:18:38:39 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://localhost/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"
2021/08/01 18:39:09 [info] 10#10: *3 client 172.17.0.1 closed keepalive connection
172.17.0.1 - webdav [01/Aug/2021:18:39:09 +0000] "PUT /docker-logs.png HTTP/1.1" 201 25 "-" "curl/7.78.0"

Cómo seguir el registro del contenedor

Aunque esto le mostrará los registros, no le permitirá ver la salida del registro continuo. Usando el -f marca seguirá los registros del contenedor de Docker.

docker logs -f 99e9b6f4b1a3

Mostrar solo las últimas líneas

En algunos casos, desea verificar rápidamente solo las últimas 10 filas de registro para su contenedor. Puedes usar el --tail opción para especificar el número de registros que desea ver.

docker logs --tail 10 99e9b6f4b1a3

Ver registros desde una fecha específica

Cuando está inspeccionando sus registros de Docker, a menudo desea limitar la salida a un número determinado de líneas, para no inundarse con información.

Si desea ver los registros desde un punto específico en el tiempo hasta ahora, el --since opción ayuda con esta tarea.

Por ejemplo, para ver los registros del contenedor desde hace 20 minutos, escribiría:

docker logs --since 20m 99e9b6f4b1a3

También puede escribir un formato de fecha siempre que se proporcione en formato ISO:

docker logs --since 2021-07-19T10:00:00 99e9b6f4b1a3

Ver registros hasta una fecha específica

Para ver los registros hasta una fecha específica, utilice --until opción con una fecha o una duración.

docker logs --until 20m 99e9b6f4b1a3

O también puede proporcionar un formato de fecha como lo hizo antes para el --since opción.

docker logs --until 
2021-07-19T10:00:00 99e9b6f4b1a3

Conclusión

Los registros de Docker lo ayudan a depurar y solucionar problemas más rápido. En este tutorial, aprendió qué son y cómo se pueden inspeccionar y usar opciones para monitorearlos.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.


Docker
  1. Cómo usar los comandos 'cat' y 'tac' con ejemplos en Linux

  2. ¿Qué es Docker? Aprenda a usar contenedores:explicado con ejemplos

  3. Cómo usar tuberías y tuberías con nombre en Linux (con ejemplos)

  4. Cómo y por qué usar un host Docker remoto

  5. ¿Qué son los modos SELinux y cómo configurarlos?

Cómo instalar y usar Docker Compose en Ubuntu 20.04

Cómo instalar y usar Docker Compose en Ubuntu 22.04

Cómo instalar y usar Docker en Ubuntu 22.04

¿Qué es Docker Compose y cómo se usa?

Cómo instalar y usar Docker en Ubuntu 20.04

¿Qué es PPA en Ubuntu Linux y cómo lo uso?