Как да настроите ротация на регистрационния файл за контейнер на Docker

Всички се нуждаем от трупи!

Понякога работата с Docker ме кара да се чувствам сякаш работя с черна кутия. Особено когато си играя с изображения на Docker от общността и това не върви по начина, по който очаквах. В много случаи четенето на дневници отнема голяма част от времето при отстраняване на грешки.

Тази статия е за настройване на ротация на журнали за контейнери на Docker.

Драйверът за регистриране по подразбиране

Можем да конфигурираме различни драйвери за регистриране на контейнери. По подразбиране stdout и stderr на контейнера се записват в JSON файл, намиращ се в /var/lib/docker/containers/[container-id]/[container-id]-json.log . Ако го оставите без надзор, той може да заема голямо количество дисково пространство, както е показано по-долу.

Пречистете дневника ръчно

Ако този регистрационен файл на JSON заема значително количество диск, можем да го изчистим, като използваме следната команда.

Можем да настроим cronjob за редовно прочистване на тези JSON регистрационни файлове. Но в дългосрочен план би било по-добре да настроите ротация на дневника.

Настройте въртенето на дневника

Конфигурирайте драйвера за регистриране по подразбиране

Това може да стане чрез добавяне на следните стойности в /etc/docker/daemon.json . Създайте този файл, ако не съществува.

В JSON файл водача сеч има още няколко възможности, а ние дори може да се промени към други дърводобивни шофьори като Syslog . За повече информация вижте Docker Docs - Конфигуриране на драйверите за регистриране.

Изпълнете следните команди, за да презаредите актуализирания daemon.json . Новата конфигурация ще се прилага за всички новосъздадени контейнери след рестартиране.

Конфигурирайте драйвера за регистриране за контейнер

Конфигурацията може да се направи и на ниво контейнер, ако не искате да я прилагате глобално.

Командата за стартиране на докера

Можем да посочим драйвера и опциите за регистриране в командата за стартиране на докер . Например:

Използване на docker-compose

Драйверът и опциите за регистриране също могат да бъдат конфигурирани чрез docker-compose. Например:

Проверете дали настройката работи.

Обобщение

Въпреки че настройките по подразбиране работят добре, никога не се знае кога регистрационните файлове на контейнера заемат цялото дисково пространство. Това може да бъде избегнато с няколкото стъпки, обсъдени по-горе. Освен това регистрационните файлове са важен актив. Те са полезни не само когато нещо се обърка, но съдържат и много скрита стойност. Така че никога не пускайте трупите.

Ако търсите SAAS решение за управление на журнали , помислете дали да не използвате Boatswain. Ще ви помогнем да управлявате всички регистрационни файлове и да наблюдавате сървърите на Docker. ?

- Първоначално публикувано в блога на Boatswain.