2

У меня есть приложение для воспроизведения и работает в докере 1.10.3. Мы делаем это заявление с 1000 запросами в секунду, чтобы выполнить нагрузочный тест. Приложение работает отлично. Мы видим значительную память HD, потребляемую Docker. Через 3 дня докер потреблял от 2,2 до 39 гб. Это беспокоит нас нагрузка.Docker потребляет больше памяти высокой четкости

Docker INFO и потребляются пространство выделено enter image description here

Есть ли было configre докер не consumen HD памяти? Любая помощь будет оценена по достоинству.

+1

Вы знаете, какие файлы занимают все это пространство? Мое предположение - это файл журнала, который растет с количеством запросов. – vdebergue

+0

Это докер внутри. Это не имеет никакого отношения к приложению. Я просто хотел узнать, нет ли в Docket конфигурации, чтобы избавиться от этого. – Prakash

ответ

4

Docker фиксирует стандартный вывод (STDOUT) вашего приложения и сохраняет его (по умолчанию) во внутреннем файле журнала. Вы можете найти этот файл по адресу /var/lib/docker/containers/$CONTAINER_ID/$CONTAINER_ID-json.log. Этот файл по умолчанию не вращается и может увеличиться, если ваше приложение печатает в STDOUT в подробностях.

два возможных решения: вращение журнала

  1. Настройка для Docker файлы журналов. Я нашел good article here, который описывает, как включить ротацию логов для Докер создания файла /etc/logrotate.d/docker-container со следующим содержимым:

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

    Вы можете поиграться с опциями. Все они задокументированы в logrotate's man page.

  2. Использовать альтернативное протоколирование для контейнеров, указав параметр --log-driver при создании контейнера:

    $ docker run --log-driver=syslog your_image 
    

    Доступных драйвера описаны в the official documentation. Например, вы можете использовать --log-driver=syslog, чтобы использовать демона системного syslog, настроить различные облачные сервисы или полностью отключить ведение журнала, используя --log-driver=none.

+0

Спасибо, что попробуете эти параметры – Prakash