Se você estiver usando o Elastic Beanstalk para executar o Docker, isso pode interessá-lo.
Eu peguei o comando do Yonatan e o converti em um trabalho .ebextensions
cron que será executado a cada X horas e limpe os logs do contêiner do Docker para que eles não se acumulem e entupam o servidor. Eu tive que modificá-lo para usar tee
para evitar um redirecionamento ambíguo erro bash.
Basta criar um diretório .ebextensions
em sua raiz do repositório (ao lado de Dockerrun.aws.json
) e um arquivo docker-log-truncate.config
dentro dele com o seguinte conteúdo:
commands:
add_docker_log_truncate_cronjob:
command: "crontab -l | grep -q 'eb-docker' || (crontab -l ; echo '0 * */6 * * /bin/echo 0 | tee /var/log/eb-docker/containers/*/*.log')| crontab -"
ignoreErrors: true
Nesse caso, o comando será executado a cada 6 dias e limpará os logs do contêiner do Docker. Note que não consegui atualizar meu Elastic Beanstalk com essa alteração até que eu terminei todos os servidores afetados, provavelmente porque o Beanstalk precisa de algum espaço livre em disco para implantar a nova versão.