Продолжаем серию заметок о сюрпризах, которые приносит нам Docker.
Как правило,  сервисы, которые контейнеризируются, применяют собственные  механизмы ротации логов (средствами приложения)  или используют стандартные классические  - например logrotate,  и наличие оных вызывает некую расслабленность администраторов данных сервисов). Однако, по умолчанию в Docker ведется логирование всего, что происходит в контейнерах(стандартный вывод/ошибки) в виде отдельного лог-файла в формате json (драйвер json) и никакой ротации по умолчанию не предусмотрено.
Рано или поздно при активно-логирующихся сервисах размер лога вырастает до размеров не умещяющихся на дисках загрузчика, при этом штатно работающая встроенная ротация сервиса продолжает и дальше штатно работать)
Для того, чтобы не получить аварию в самый неподходящий момент, необходимо заранее настроить ротацию глобально или применительно к конкретным контейнерам. 
Глобальная настройка :
/etc/docker/daemon.json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}
Необходимо незабыть перезапустить  dockerd (например  systemctl restart docker)
При запуске dockerd :
dockerd ... --log-opt max-size=100m --log-opt max-file=3
На уровне контейнера:
docker run  --log-opt max-size=100m --log-opt max-file=3 <app_name>
На уровне сервиса :
services:
  <service_name>:
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "3"
*После изменения конфига незабыть : docker compose down/ docker compose up -d
Проверка конфигурации :
docker container inspect <container_name> | grep LogConfig -A6
Если в данный момент нет возможности перезапустить контейнер/сервис/dockerd, можно выполнить усечение файла например так :
truncate -s 0 $(docker inspect --format='{{.LogPath}}' <container_name>)
или так 
:> $(docker inspect --format='{{.LogPath}}' <container_name>)
(!) Помним, что на данный момент (есть открытый баг) попытка ротировать файлы логов  приводит к невозможности работы docker в  режиме отслеживания логов ( -f ) , т.е. docker logs -f / docker-compose logs -f  не будут отслеживать изменения до перезапуска контейнера, в котором была проведена ротация внешними (на уровне ФС ) или  собственными средствами.