Журналы контейнеров Docker занимают все мое дисковое пространство
Я запускаю контейнер на виртуальной машине. Мой контейнер записывает журналы по умолчанию в /var/lib/docker/containers/CONTAINER_ID / CONTAINER_ID-json.файл журнала, пока диск не будет заполнен.
В настоящее время, я должен удалить вручную этот файл, чтобы избежать диска, чтобы быть полным. Я читал, что в Docker 1.8 будет параметр поворот журналы. Что бы вы порекомендовали в качестве текущего обходного пути?
4 ответа:
Docker 1.8 был выпущен с опцией поворота журнала. Добавление:
--log-opt max-size=50m
когда контейнер запускается делает трюк. Вы можете узнать больше на: https://docs.docker.com/engine/admin/logging/overview/
внимание: это для docker-compose версии 2 только
пример:
version: '2' services: db: container_name: db image: mysql:5.7 ports: - 3306:3306 logging: options: max-size: 50m
внимание: это сообщение относится к версиям docker )
почему вы не используете logrotate (который также поддерживает сжатие)?
/var/lib/docker/containers/*/*-json.log { hourly rotate 48 compress dateext copytruncate }
настройте его либо непосредственно на узле CoreOs, либо разверните контейнер (например,https://github.com/tutumcloud/logrotate) который монтирует /var/lib / docker для поворота журналов.
передать параметры журнала при запуске контейнера. Пример будет выглядеть следующим образом
sudo docker run -ti --name visruth-cv-container --log-opt max-size=5m --log-opt max-file=10 ubuntu /bin/bash
здесь
--log-opt max-size=5m
задает максимальный размер файла журнала, равный 5 Мб и--log-opt max-file=10
задает максимальное количество файлов для вращения.