Limpeza de antigas imagens de containers

Haha, tudo bem, não para velocidade, mas existe um para liberar espaço! :wink: Estou falando, claro, de:

./launcher cleanup

Que remove imagens antigas quando o disco fica sem espaço. Isso é algo que a) eu pessoalmente precisei executar várias vezes, b) não é muito óbvio que exista, a menos que você saiba onde procurar, e c) já surgiu, não sei… pelo menos dezenas de vezes no Meta ao longo dos anos.

Pensei em mencionar, já que sinceramente não faço ideia do motivo pelo qual a “limpeza” não possa acontecer automaticamente, digamos, uma vez por mês e/ou a cada rebuild :smiley: Não vejo motivo para querer manter todos os containers antigos para sempre como padrão.

Atualmente, executamos esse comando de forma interativa quando o espaço em disco tem menos de 5 GB livres.

Ah, entendi, sim, isso torna mais difícil deixar passar! Ainda parece que deveria ser uma tarefa em segundo plano, para que ninguém precise executá-la manualmente. (A menos que eu esteja esquecendo de algo e haja alguma razão válida para manter os contêineres antigos e não utilizados)

Você não pode adivinhar por que alguém poderia querer manter contêineres antigos. Tenho discos rígidos inteiros de computadores que descomissionados há uma década. Não quero que outra pessoa decida apagá-los. :wink:

Haha, você tem razão. Só perguntei porque literalmente não sei quais seriam esses motivos :thinking: :upside_down_face:

Claro, entendo a necessidade de manter backups para fins de retenção de dados reais. Mas containers antigos = diferente, certo? Não sou um especialista em Docker e essa provavelmente é uma metáfora fraca, mas para mim, isso parece mais como se eu estivesse no macOS Catalina, mas mantivesse cópias do Mojave, High Sierra, Sierra, El Capitan, Yosemite, etc., etc.

Não estou duvidando de que existam… motivos! para manter containers por aí, só nunca me deparei com eles em anos de uso do Discourse. Então, acho que 99% das pessoas como eu, com instalações padrão, nunca precisam deles. Se houvesse uma opção para sempre limpar automaticamente os antigos, eu usaria!

Quer dizer, plugins quebram o tempo todo durante atualizações principais, especialmente os de terceiros. Não é muito diferente das grandes versões do macOS que impedem certos aplicativos de rodar.

Ah, então você está dizendo que ter containers antigos é útil caso algo quebre e você precise fazer um rollback? Nesse caso, seria apenas o container imediatamente anterior, ou haveria alguma necessidade de um container de muito tempo atrás?

Sei que a comparação com o macOS não é perfeita, mas meu ponto é que eu nunca ~voltaria~ para um sistema operacional muito antigo, mesmo que certos aplicativos legados só rodem na versão mais recente. Se alguém me der um exemplo concreto de “aqui está um caso onde eu realmente precisei de um dos meus containers antigos do Discourse de dois anos atrás”, eu vou ficar calado :slight_smile: Isso é algo que venho me perguntando há muito tempo, para ser honesto.

Minha analogia não foi perfeita. Mas existem razões pelas quais alguém pode ter imagens e contêineres do Docker que não estão em uso e que não deseja excluir, pois os executa apenas ocasionalmente e não quer reconstruí-los na próxima vez que precisar deles.