13 pontos por ironlung 2023-09-27 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Ao operar serviços em um servidor Linux com aplicações implantadas via Docker, pode aparecer uma mensagem de falta de espaço em disco
    • Mesmo que os dados e logs realmente gerados e armazenados pela aplicação não sejam muitos, a capacidade total de armazenamento do sistema pode ficar cheia
    • Ao usar Docker, uma das causas da falta de espaço de armazenamento são os 'logs de contêiner do Docker'
  • Drivers de logging do Docker e localização dos logs
    • Driver de logging: o Docker inclui um mecanismo de logging que ajuda a obter informações de contêineres e serviços em execução; isso é o driver de logging
    • Comando docker logs: mostra as informações registradas por um contêiner em execução
    • Comando docker service logs: mostra as informações registradas por todos os contêineres que participam do serviço
    • O Docker usa o driver de logging json-file, que captura a saída padrão (stdout) ou o erro padrão (stderr) de todos os logs dos contêineres e os grava em um arquivo no formato JSON
    • Ao executar um contêiner Docker com os comandos docker run ou docker-compose up, é criado o arquivo /var/lib/docker/containers/[Container-ID]/[Container-ID]-json.log, onde os logs são registrados
    • O driver de logging json-file não faz rotação de logs
      • Se o contêiner gerar uma grande quantidade de saída, o arquivo de log salvo por esse driver pode consumir bastante espaço em disco, o que pode levar ao esgotamento do armazenamento
  • Reduzindo o tamanho dos logs de contêiner do Docker
    • Ao executar os comandos docker rm ou docker-compose down, o contêiner Docker é removido, e o diretório correspondente a [Container-ID] em /var/lib/docker/containers também é apagado
      • Com isso, o arquivo [Container-ID]-json.log, que ocupava muito espaço em disco, também é removido, liberando espaço no disco do sistema
    • Ao executar o comando truncate -s 0 <json-log-file>, é possível zerar o tamanho do arquivo de log
  • Configurando a rotação de logs
    • É possível ativar a rotação de logs definindo o tamanho máximo do arquivo (max-size) e a quantidade máxima de arquivos (max-file)
    • Quando o tamanho do arquivo atinge o valor máximo definido, ele é substituído por um novo arquivo, e os arquivos antigos passam a ser criados como ...-json.log.1, ...-json.log.2 até o limite configurado
    • Ao ultrapassar esse limite, o arquivo mais antigo é removido, evitando que o tamanho dos arquivos de log do contêiner Docker cresça indefinidamente

Ainda não há comentários.

Ainda não há comentários.