Compartir comentarios
Las respuestas se generan en base a la documentación.

Controlador de registro de archivo local

Tabla de contenidos

El controlador de registro local captura la salida de stdout/stderr del contenedor y la escribe en un almacenamiento interno optimizado para rendimiento y uso de disco.

Por defecto, el controlador local conserva 100 MB de mensajes de registro por contenedor y utiliza compresión automática para reducir el tamaño en disco. El valor predeterminado de 100 MB se basa en un tamaño predeterminado de 20 MB para cada archivo y un recuento predeterminado de 5 para el número de dichos archivos (para tener en cuenta la rotación de registros).

Warning

El controlador de registro local utiliza almacenamiento basado en archivos. Estos archivos están diseñados para ser accedidos exclusivamente por el demonio de Docker. Interactuar con estos archivos con herramientas externas puede interferir con el sistema de registro de Docker y provocar un comportamiento inesperado, por lo que debe evitarse.

Uso

Para usar el controlador local como el controlador de registro predeterminado, establece las claves log-driver y log-opts con los valores adecuados en el archivo daemon.json. Para obtener más información sobre cómo configurar Docker mediante daemon.json, consulta daemon.json.

Note

Si usas Docker Desktop, edita la configuración del demonio a través del panel de Docker Desktop. Abre Settings y selecciona Docker Engine. Para más detalles, consulta Configuración de Docker Engine.

El siguiente ejemplo establece el controlador de registro en local y configura la opción max-size.

{
  "log-driver": "local",
  "log-opts": {
    "max-size": "10m"
  }
}

Reinicia Docker para que los cambios surtan efecto en los contenedores nuevos. Los contenedores existentes no utilizarán la nueva configuración de registro automáticamente.

Puedes establecer el controlador de registro para un contenedor específico utilizando la opción --log-driver al emplear docker container create o docker run:

$ docker run \
      --log-driver local --log-opt max-size=10m \
      alpine echo hello world

Ten en cuenta que local es una palabra clave reservada de bash, por lo que es posible que necesites entrecomillarla en los scripts.

Opciones

El controlador de registro local admite las siguientes opciones de registro:

OpciónDescripciónValor de ejemplo
max-sizeEl tamaño máximo del registro antes de rotarlo. Un número entero positivo más un modificador que representa la unidad de medida (k, m o g). El valor predeterminado es 20m.--log-opt max-size=10m
max-fileEl número máximo de archivos de registro que pueden estar presentes. Si la rotación de los registros crea un exceso de archivos, se elimina el archivo más antiguo. El valor predeterminado es 5.--log-opt max-file=3
compressActiva o desactiva la compresión de los archivos de registro rotados. Habilitado por defecto.--log-opt compress=false

Ejemplos

Este ejemplo inicia un contenedor alpine que puede tener un máximo de 3 archivos de registro de no más de 10 megabytes cada uno.

$ docker run -it --log-driver local --log-opt max-size=10m --log-opt max-file=3 alpine ash