Όταν εγκαθιστάς και χρησιμοποιείς Docker στο σύστημά σου, το container που τρέχει στο docker μπορεί να παράγει μεγάλο αριθμό logs ενώ εσύ δεν το γνωρίζεις στο παρασκήνιο.

Αν και η υπηρεσία Docker υποστηρίζει κανονικά το logrotate, αυτή η υποστήριξη έρχεται απενεργοποιημένη εξ ορισμού. Αν μια μέρα ο δίσκος σου τελειώσει ξαφνικά, τότε θα καταλάβεις ακριβώς τι εννοώ. : )

Αν εγκαθιστάς την υπηρεσία docker για πρώτη φορά σε έναν server και τρέχεις το container για πρώτη φορά, μπορείς να ακολουθήσεις τα παρακάτω βήματα.

Όταν η υπηρεσία docker είναι σε κατάσταση stop, πρώτα άνοιξε το αρχείο που θα χρειαστεί η υπηρεσία docker για τη λειτουργία logrotate με τον text editor. Ο αγαπημένος μου είναι το vim, χρησιμοποίησα vim. Μπορείς επίσης να επιλέξεις άλλον editor όπως nano, pico.

sudo vim /etc/docker/daemon.json

Στη συνέχεια, πρόσθεσε τις παρακάτω γραμμές σε αυτό το αρχείο και αποθήκευσε και κλείσε το αρχείο.

{
 "log-driver": "json-file",
 "log-opts": {
     "max-size": "10m",
     "max-file": "3"
     }
 }

Τώρα, μην ξεχάσεις να επανεκκινήσεις την υπηρεσία docker σου.

sudo systemctl restart docker

Τώρα, η υπηρεσία docker σου άρχισε να κάνει rotation logs κάτω από τη διαδρομή "/var/lib/docker/containers/CONTAINERID/".