Como posso limpar logs no docker?

3

Eu comecei a tentar usar contêineres docker.

Após algumas semanas de uso, percebi que todas as mensagens de log, desde o início do contêiner, ainda estão lá. Depois que esses registros antigos não forem mais necessários, existe uma maneira de limpar ou excluir os logs desses contêineres?

O comando para acessar os logs é docker logs CONTAINERID

Existe alguma maneira de limpar os registros

    
por user3214546 16.03.2015 / 03:01

2 respostas

6

Atualmente, o docker não tem como limpar os registros antigos do contêiner. Um problema foi criado para adicionar esse recurso, mas foi negado.

Neste momento, você deve fazer isso manualmente.

O log do contêiner estava em /var/lib/docker/containers/container-id/container-id-json.log , você pode excluí-lo para tornar o log do contêiner limpo:

$ 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>
    
por 16.03.2015 / 04:29
1

Resposta curta: é um recipiente. Seus logs não devem ser armazenados dentro do contêiner. Configure seus serviços para efetuar login em um servidor de registro remoto (via syslog ou syslog-ng). Há também terceiros que executam serviços de registro (SumoLogic, Loggly).

    
por 16.03.2015 / 16:49

Tags