Cómo configurar la rotación de registros para un contenedor Docker

¡Todos necesitamos troncos!

A veces, trabajar con Docker me hace sentir como si estuviera trabajando con una caja negra. Especialmente cuando juego con imágenes de Docker de la comunidad y no sale como esperaba. En muchos casos, la lectura de registros toma una gran parte de tiempo durante la depuración.

Este artículo trata sobre la configuración de la rotación de registros para contenedores Docker.

El controlador de registro predeterminado

Podemos configurar diferentes controladores de registro para contenedores. De forma predeterminada, stdout y stderr del contenedor se escriben en un archivo JSON ubicado en /var/lib/docker/containers/[container-id]/[container-id]-json.log . Si lo deja desatendido, puede ocupar una gran cantidad de espacio en disco, como se muestra a continuación.

Purgar el registro manualmente

Si este archivo de registro JSON ocupa una cantidad significativa del disco, podemos purgarlo usando el siguiente comando.

Podríamos configurar un cronjob para purgar estos archivos de registro JSON con regularidad. Pero a largo plazo, sería mejor configurar la rotación de registros.

Configurar la rotación de registros

Configurar el controlador de registro predeterminado

Esto se puede hacer agregando los siguientes valores en /etc/docker/daemon.json . Cree este archivo si no existe.

El controlador de registro de archivos json tiene algunas opciones más, e incluso podemos cambiar a otros controladores de registro, como syslog . Para obtener más información, consulte Docker Docs: configurar controladores de registro.

Ejecute los siguientes comandos para volver a cargar el daemon.json actualizado . La nueva configuración se aplicará a todos los contenedores recién creados después del reinicio.

Configurar el controlador de registro para un contenedor

La configuración también se puede realizar a nivel de contenedor si no desea aplicarla globalmente.

El comando docker run

Podemos especificar el controlador de registro y las opciones en el comando docker run . Por ejemplo:

Usando docker-compose

El controlador de registro y las opciones también se pueden configurar mediante docker-compose. Por ejemplo:

Verifique si la configuración está funcionando.

Resumen

Aunque la configuración predeterminada funciona bien, nunca se sabe cuándo los registros del contenedor ocupan todo el espacio del disco. Esto puede evitarse mediante los pocos pasos que se comentaron anteriormente. Aparte de eso, los registros son un activo importante. No solo son útiles cuando algo sale mal, sino que también contienen mucho valor oculto. Así que nunca dejes ir los troncos.

Si está buscando una solución SAAS de gestión de registros , considere utilizar Boatswain. Lo ayudaremos a administrar todos los registros y monitorear sus servidores Docker. ?

- Publicado originalmente en Boatswain Blog.