# Controlador de registro de archivo local


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](/reference/cli/dockerd/#daemon-configuration-file).



> [!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](/desktop/settings-and-maintenance/settings/#docker-engine).


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

```json
{
  "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`:

```console
$ 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ón     | Descripción                                                                                                                                                                             | Valor de ejemplo           |
| :--------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------- |
| `max-size` | El 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-file` | El 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`     |
| `compress` | Activa 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.

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

