Я начал пробовать использовать docker-контейнеры.
После нескольких недель использования я понял, что все сообщения журнала с начала контейнера все еще там. Когда эти старые журналы больше не нужны, есть ли способ очистить или удалить журналы этих контейнеров?
Команда для доступа к журналам: docker logs CONTAINERID
Есть ли способ очистить логи
В настоящее время у докера нет возможности очистить старые журналы контейнера. An выпуск был поднят, чтобы добавить эту функцию, но в ней было отказано.
В настоящее время вы должны сделать это вручную.
Журнал контейнера находился в /var/lib/docker/containers/container-id/container-id-json.log
, вы можете удалить его, чтобы очистить журнал контейнера:
$ docker logs flask
172.17.42.1 - - [20/Nov/2014 03:07:20] "GET / HTTP/1.1" 200 -
172.17.42.1 - - [20/Nov/2014 03:07:20] "GET /static/public/css/common.css?37db3944 HTTP/1.1" 304 -
172.17.42.1 - - [20/Nov/2014 03:07:20] "GET /static/public/images/Character-2x.png HTTP/1.1" 304 -
172.17.42.1 - - [20/Nov/2014 03:07:20] "GET /static/public/images/linkedin.png HTTP/1.1" 304 -
172.17.42.1 - - [20/Nov/2014 03:07:20] "GET /static/public/images/facebook.png HTTP/1.1" 304 -
...
$ mv /var/lib/docker/containers/container-id/container-id-json.log{.bak,}
$ docker logs flask
<empty>
Краткий ответ: это контейнер. Ваши журналы не должны храниться внутри контейнера. Настройте свои службы для входа на удаленный сервер журналов (через syslog или syslog-ng). Есть также третьи стороны, которые запускают службы регистрации (SumoLogic, Loggly).