Для очистки логов Docker-контейнера можно использовать несколько подходов. Ниже приведены несколько методов, которые вы можете использовать в зависимости от ваших потребностей:
1. Очистка логов при запуске контейнера:
Если вы хотите, чтобы логи удалялись автоматически каждый раз при запуске вашего контейнера, вы можете добавить флаг --log-opt max-size=SIZE
при запуске контейнера. Вместо SIZE
укажите размер лог-файла в формате [число][B|K|M|G]
. Например, --log-opt max-size=10M
ограничит размер лог-файла до 10 мегабайт.
2. Очистка логов вручную:
Если вы хотите управлять очисткой лог-файлов вручную, вы можете найти расположение файлов с логами контейнера и удалить их. По умолчанию Docker хранит логи контейнеров в /var/lib/docker/containers/<CONTAINER_ID>/<CONTAINER_ID>-json.log
, где <CONTAINER_ID>
- идентификатор вашего контейнера. Чтобы очистить эти лог-файлы, просто удалите их с помощью команды rm
. Например, sudo rm /var/lib/docker/containers/<CONTAINER_ID>/<CONTAINER_ID>-json.log
.
3. Очистка старых логов:
Если вы хотите удалять старые лог-файлы контейнера, вы можете использовать инструменты удаления старых файлов, такие как logrotate
. logrotate
позволяет настраивать правила вращения файлов журналов, определяя, когда и какие журналы удалить. Настройте logrotate
для удаления старых лог-файлов Docker.
4. Настройка удаления логов в Docker Daemon:
Настройки удаления логов можно определить в Docker Daemon, чтобы процесс удаления выполнялся автоматически. Для этого отредактируйте файл конфигурации Docker Daemon (/etc/docker/daemon.json
) и добавьте следующую опцию:
{ "log-opts": { "max-size": "10m", "max-file": "3" } }
В этом примере мы устанавливаем максимальный размер файла в 10 мегабайт и максимальное количество файлов журналов в 3. После изменения конфигурации перезапустите Docker Daemon.
Важно отметить, что удаление лог-файлов является обратимой операцией, поэтому перед удалением убедитесь, что вы не потеряете данные, которые могут быть полезными для диагностики проблем или аудита.