Blog del Podcast
podcast    GitHub    Twitter  Telegram

Docker. Borrar logs

Si tienes muchos Dockers funcionando desde hace mucho tiempo, es probable que los archivos con sus logs sea muy grande, dependiendo del servicio puede llegar incluso a varios gigas.

Si ya no tienes nada que consultar del pasado, quizás sería este el momento de borrarlos y empezar de nuevo.

Vamos a ver un par de métodos de cómo hacerlo y añadirlos a tu cron, para que periódicamente se vaya autolimpiando y despreocuparnos.

Borrar logs con find

Este es mi método favorito. Sencillo y transparente.

Listemos todos los logs disponibles


sudo find /var/lib/docker/containers/ -type f -name "*.log"

Tamaño aprox. con du


sudo du -hs /var/lib/docker/containers/

Para borrar, utilizaremos la opción -delete


sudo find /var/lib/docker/containers/ -type f -name "*.log" -delete

Para que siga registrando los nuevos logs, es necesario reiniciar los dockers.

Reiniciar todos los dockers que están corriendo


docker restart $(docker ps -q)

Quizás sea este el momento de actualizar tu sistema operativo y reiniciar tu dispositivo. Así al iniciar el sistema, se reiniciarán todos tus dockers.

Automatización con cron

Con esta opción que podemos agregar a nuestro cron, cada lunes a las 4:30h de la madrugada, se eliminaran todos los logs y se reiniciaran los dockers que esten en funcionamiento.


30 04 * * 1 ( sudo find /var/lib/docker/containers/ -type f -name "*.log" -delete ; docker restart $(docker ps -q) )

Otro método

Sería tan sencillo como ejecutar el siguiente comando


sudo sh -c "truncate -s 0 /var/lib/docker/containers/*/*-json.log"

Fuente

Publicado por Angel el Thursday 22 December del 2022

También te puede interesar:




Powered by org-bash-blog

Written in OrgMode with Emacs and converted to HTML with Pandoc

Licencia de Creative Commons
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.