Sua instalação do Docker não está funcionando corretamente - sem espaço disponível no dispositivo - é seguro usar ./launcher cleanup?

Estou tendo o problema Sua instalação do Docker não está funcionando corretamente após executar ./launcher rebuild app.

O erro é docker: failed to register layer: Error processing tar file(exit status 1): write /usr/lib/x86_64-linux-gnu/libx265.a: no space left on device.

…Vejo que uma das dicas comuns para corrigir isso é ./launcher cleanup, mas antes de fazê-lo, gostaria de verificar se é seguro usar, pois estou recebendo:
AVISO! Isso removerá todos os contêineres parados.
AVISO! Isso removerá todas as imagens sem pelo menos um contêiner associado a elas.

Ajuda? Só quero ter certeza de que não estou excluindo nada importante aqui.

docker ps -a

docker images

É definitivamente a opção recomendada:

Embora, se você quiser ter certeza de que seu site está funcionando antes de apertar o botão, você pode executar ./launcher start app primeiro.

3 curtidas

Executar ./launcher start app dá o mesmo erro:

docker: failed to register layer: Error processing tar file(exit status 1): write /usr/lib/x86_64-linux-gnu/libx265.a: no space left on device.
See 'docker run --help'.
Your Docker installation is not working correctly

… então eu ainda não sei a resposta para a pergunta: é seguro usar ./launcher cleanup quando o site não está funcionando?

Da captura de tela em ‘docker images’ na postagem principal, parece haver muitas imagens antigas, mas não sei como direcioná-las especificamente para exclusão, e se isso causaria algum problema.

df

Se o contêiner docker estiver em execução, ele não excluirá o contêiner. Se o contêiner não estiver em execução, ele o excluirá, mas você pode recriar um novo com ./launcher rebuild app.

2 curtidas

Obrigado, mas ainda não está muito claro para mim - Docker não é meu forte, então não sei se excluir e reconstruir um contêiner bagunçaria alguma coisa no meu site… Seria mais seguro colocar o aplicativo em funcionamento primeiro limpando um espaço seletivo? Como isto:

  1. Primeiro, libere algum espaço visando uma imagem específica para excluir
  2. Em seguida, execute ./launcher start app
  3. Assim que o aplicativo estiver em funcionamento: ./launcher cleanup

…não tenho certeza se essa cautela é necessária. Talvez apenas executar ./launcher cleanup diretamente funcione bem e não exclua nada importante, mesmo que meu aplicativo não esteja em execução.

Mas caso você ache que a abordagem acima pode ser uma opção: você conhece o comando para mirar em uma imagem específica para excluir (passo 1 acima)? Veja minhas opções de quais imagens excluir abaixo.

O que eu faria seria primeiro apagar um ou dois backups? Isso deve lhe dar espaço suficiente para as coisas funcionarem.

Se você executar ./launcher start app então ./launcher cleanup não excluirá sua imagem que funciona, e seu site continuará funcionando enquanto a limpeza progride.

Se por algum motivo você cometer um erro e excluir sua imagem que funciona, e você atualizou recentemente, há uma boa chance de que você possa simplesmente executar ./launcher rebuild app e ficar em boa situação.

1 curtida

Você sabe o comando para apenas excluir um ou dois backups? Algo como ./ launcher cleanup [id da imagem] talvez?

Não acredito que ./launcher cleanup remova quaisquer backups, apenas contêineres que não estão em uso.

cd /var/discourse/shared/standalone/backups/default
ls 
rm file-to-delete
1 curtida

Tentou \n\n\n\ncd /var/discourse/shared/standalone/backups/default\nls \nrm oldest-file\n\n\nTentou ./launcher rebuild app\n\n…falhou com problema de memória como antes\n\nTentou ./launcher cleanup\n\nLimpou 4GB\n\nTentou ./launcher rebuild app\n\nFalhou novamente com novos erros.\n\nTentou ./discourse-doctor, tentando descobrir o que está acontecendo.\n\n…parece ter resolvido?\nNão faço ideia do porquê. Gostaria de entender para a próxima vez.\nhttps://bygg.boihop.co/

Se você obteve um erro de memória na reconstrução, eu adicionaria mais 1 GB de swap, embora isso aperte seu problema de espaço em disco (Parece que você está em um droplet pequeno com 25 GB de RAM, o que é apenas o suficiente). Eu executaria um ./launcher cleanup antes de cada reconstrução, ou talvez você tenha apenas um monte de backups e deva movê-los para o S3 ([Configure um provedor de armazenamento de objetos compatível com S3 para uploads](Configure an S3 compatible object storage provider for uploads --você pode fazer apenas backups, não precisa fazer todos os ativos como descrito lá).

O segundo erro não foi um erro de memória, mas eu não consegui identificar qual era o novo erro: daí o médico.
De qualquer forma, ./discourse-doctor resolveu, só teria adorado saber o que realmente aconteceu.
Obrigado pela sua ajuda!

1 curtida

Minha suposição foi que você está confundindo RAM (memória) com espaço em disco. O erro de memória pode ir e vir e o erro “erro 127” é críptico e fácil de perder.