Cara Hapus Log Docker Secara Otomatis

Log Docker adalah catatan yang mencatat aktivitas dan peristiwa yang terjadi dalam lingkungan Docker termasuk informasi tentang pembuatan, eksekusi, dan penyelesaian kontainer. Log tersebut terbentuk dari output yang dihasilkan oleh kontainer seperti pesan kesalahan, peristiwa sistem, dan aktivitas aplikasi yang berjalan di dalam kontainer tersebut. Informasi ini penting untuk pemantauan, pemecahan masalah, dan pemahaman lebih lanjut tentang kinerja dan keamanan aplikasi yang dijalankan dalam lingkungan Docker.

Log Docker disimpan dalam sistem file host yang menjalankan Docker yang biasanya berada dalam direktori /var/lib/docker/containers. Jumlah log yang dihasilkan oleh kontainer Docker dapat meningkat dengan cepat tergantung pada aktivitas kontainer tersebut. Akibatnya, penyimpanan log Docker dapat mempengaruhi ruang penyimpanan yang tersedia di host dan memerlukan pemantauan dan manajemen yang tepat untuk mencegah kehabisan ruang penyimpanan dan masalah kinerja yang terkait. Maka perlu mempertimbangkan strategi penyimpanan log yang efisien, seperti rotasi log, kompresi, atau arsip log untuk meminimalkan dampak penyimpanan pada sistem host.

Berikut adalah cara sederahana yang dapat membantu kita kehabisan storage karena log yang terus bertumbuh. Buat file .sh misal pada directory /home/toto/command-sh/
nano clear-log.sh
kemudian isi dengan perintah berikut

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

Sekarang lanjutkan jalankan perintah tersebut secara berkala misal setiap 1 jam sekali dengan mengetikan perintah crontab -e kemudian pastekan:

0 */1 * * * /home/toto/command-sh/clear-log.sh

Semoga berhasil dan membantu ๐Ÿ™‚