Blog del Podcast
podcast      GitHub      Twitter   Telegram

Docker. Borrar logs

Lectura: 2 min. 256 palabras. docker

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 el jueves, 22 de diciembre de 2022







Powered by wdblog

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