Docker — программное обеспечение, предназначенное для создания, развертывания и запуска приложений. Контейнер — форма виртуализации, позволяющая упаковать приложение и его зависимости в последовательную и изолированную среду. Каждый контейнер имеет свой файл журнала (лог-файл), который содержит сведения о результатах работы приложений, а также данные системного уровня (ошибки, данные отладки, предупреждения и так далее). Поскольку лог-файлы со временем могут накапливать большое количество неактуальной информации, рекомендуется регулярно выполнять их ротацию.
В этой статье мы расскажем, как настроить ротацию лог-файлов контейнеров Docker в ОС Linux.
Содержание:
- Настройка ротации лог-файла конкретного контейнера
- Выполнение ротации журналов в Docker Compose
- Глобальная настройка ротации журналов Docker
- Выводы
Настройка ротации лог-файла конкретного контейнера
Процесс ротации журнала необходимо настроить при создании контейнера Docker. Для этого можно воспользоваться следующей командой:
Где:
docker run— команда, которая используется для создания и запуска нового контейнера на основе указанного образа;--name <container-name>— необязательная опция, которая позволяет задать контейнеру название (если не использовать этот параметр, Docker автоматически сгенерирует случайное название);--log-driver=<value>— опция, в качестве значения которой нужно указать драйвер логирования для контейнера (например,json-file);--log-opt max-size=<value>— параметр, для которого следует указать максимальный размер лог-файла (если размер журнала достигнет заданного значения, Docker выполнит ротацию);--log-opt max-file=<value>— опция, позволяющая определить максимальное количество файлов журнала, которые нужно сохранять (при превышении указанного числа самый старый файл будет удален автоматически);<image-name>— название образа, на основе которого будет запущен контейнер.
Читайте также: Как очистить содержимое лог-файла контейнера Docker в Linux.
Для примера запустим контейнер с названием mystifying_joliot на основе образа hello-world. И настроим процесс ротации лог-файлов следующим образом:
- драйвер логирования —
json-file; - максимальный размер лог-файла — 10 Мб;
- хранить до 3 журналов.
Выполнение ротации журналов в Docker Compose
Docker Compose — это инструмент для описания и управления многоконтейнерными приложениями на Docker. Он позволяет настраивать все сервисы, сети и хранилища данных программы в одном файле docker-compose.yml. Этот документ является «чертежом» для запуска приложения.
Читайте также: Как удалить образы, контейнеры и тома Docker.
Если Вы используете Docker Compose, то настроить ротацию журналов для всех контейнеров одного приложения можно в файле docker-compose.yml. Для этого откройте данный текстовый документ в любом текстовом редакторе и вставьте в него следующий код:
Важно: используемые параметры и их значения совпадают с тем, что применялись в команде представленной ранее.
Сохраните внесенные изменения и закройте файл docker-compose.yml. Затем выполните в терминале следующую команду, чтобы применить настройки ротации журналов:
Читайте также: Как управлять приложениями внутри контейнера Docker.
Глобальная настройка ротации журналов Docker
У Вас есть возможность установить единый процесс ротации журналов для всех контейнеров Docker в операционной системе. Для этого нужно записать в файл настроек /etc/docker/daemon.json код:
После чего сохраните изменения и перезапустите службу Docker с помощью следующей команды:
Выводы
Мы показали, как настроить ротацию лог-файлов контейнеров Docker в операционной системе Linux. Надеемся, что этот материал был полезным для Вас!
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.





























