172 похожих чатов

Коллеги, оцените решение или предложите вариант полегче. Задача: docker логами засоряет

место и нужно раз-два в день чистить логи за ним.
Мое решение+gpt:
1) У compose прописать
image: <image>
environment:
- LOG_PATH=/var/lib/docker/containers/$$CONTAINER_ID/$$CONTAINER_ID-json.log

2) в rsyslog прописать:
LOG_PATH {
daily
rotate 7
}
Сработает ли так?

Контейнер каждый раз будет обновляться по этому записано в переменную

19 ответов

29 просмотров

У докера давно уже в его конфиге можно задать параметры ротации его логов, да и при запуске отдельного контейнера. Раньше да, надо было логротэйтом ротировать логи контейнеров

Timofey-Vatutin Автор вопроса
Aleksey Agafonov
У докера давно уже в его конфиге можно задать пара...

logging .. типФайла размерФайла кол-во файлов? Ротируются - удаляются получается самые давние удаляет?

Aleksey Agafonov
У докера давно уже в его конфиге можно задать пара...

а на каком уровне? в ~/.docker/config или в /etc/docker/daemon.json?

Aleksey Agafonov
Общий в etc

ага, так и запишем. т.е. опции можно задать сервису в /etc и контейнерам юзера через конфиг в домашней папке юзера, верно?

Div
ага, так и запишем. т.е. опции можно задать сервис...

Про конфиг юзера надо проверять/читать доку, да и вообще документация полезна, она и меняется постоянно, как и версии докера

Aleksey Agafonov
Про конфиг юзера надо проверять/читать доку, да и ...

В etc дефолтный общий, в ключах запуска можно переопределить, как задать отправку логов во внешнюю систему

Timofey-Vatutin Автор вопроса
Aleksey Agafonov
Как logrotate

Посмотрел, logrotate же архивирует логи, а мне надо что удалял

Aleksey Agafonov
В etc дефолтный общий, в ключах запуска можно пере...

И в общем конфиге можно дефолт отправку во вне можно

Timofey Vatutin
Посмотрел, logrotate же архивирует логи, а мне над...

logrotate сейчас не нужен, этот функционал есть в докере давно

Aleksey Agafonov
logrotate сейчас не нужен, этот функционал есть в ...

Но принцип старое по архивам, новое в обрезанном файле, и старые архивы удалить, оставив заданное количество файлов

Timofey-Vatutin Автор вопроса
Aleksey Agafonov
И удаляет

На всякий случай уточню - что я про этот вариант: "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" Пока не нашел информации об удалении, в документации просто описывается - для избежания истощения диска

Timofey Vatutin
На всякий случай уточню - что я про этот вариант: ...

max-files: 3 это и есть 3 файла, остальные удалять

Timofey Vatutin
На всякий случай уточню - что я про этот вариант: ...

В данном случае 30 метров логов на контейнер будет. Но, возможно, лучше вариант по времени ротировать, а не по размеру

Timofey-Vatutin Автор вопроса
Timofey Vatutin
По времени не могу найти. Везде вес

По времени нужно logrotate использовать

Div
а на каком уровне? в ~/.docker/config или в /etc/...

https://docs.docker.com/config/containers/logging/json-file/ Про пользовательский конфиг не написано, но можно бы и попробовать )

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта