🐳 Уменьшение размера логов Docker на диске

by itisgood

В случаях, когда вы используете стандартные настройки для ведения логов и ваше приложение ведет много логов, вы можете потреблять много дискового пространства, и оно может закончиться довольно быстро.

Если это случай, когда дисковое пространство уже закончилось, мы можем исследовать дисковое пространство, потребляемое логами docker:

$ cd /var/lib/docker/containers 
$ du -sh * 
6.0G 14052251a0f13f46f65bc73d10c01408130ee8ae71529600ba5bd6bee76af4ee 
1.2G e6b40b1d30c5cf05e8cb201ca9abf6bd283d7cf7ceaa3be2a0422be7cd750a33

Вы можете уменьшить эти файлы:

$ sh -c 'truncate -s 0 /var/lib/docker/containers/*/*-json.log'

Проверьте размер еще раз:

$ du -sh * 
40K 14052251a0f13f46f65bc73d10c01408130ee8ae71529600ba5bd6bee76af4ee 
36K e6b40b1d30c5cf05e8cb201ca9abf6bd283d7cf7ceaa3be2a0422be7cd750a33

Чтобы решить эту проблему, вы можете использовать опцию logging в Docker Compose:

...
logging:
  driver: "json-file"
  options:
    max-size: "1m"
...

Настройка ротации  логов Docker:

Создайте файл /etc/logrotate.d/docker-logs и добавьте в него следующее:

/var/lib/docker/containers/*/*.log {
 rotate 7
 daily
 compress
 size=50M
 missingok
 delaycompress
 copytruncate
}

см. также:

 

You may also like

Leave a Comment