Liberando espaço em seu servidor do Docker

Quando estamos criando um contêiner para alguma finalidade específica é norma que façamos diversas compilações até que consigamos deixar o contêiner do jeito que queremos. O problema é que a cada compilação o Docker vai guardando Cache e imagens que no final das contas acabam sendo inúteis depois que já temos nosso contêiner todo customizado.

Para liberar todo espaço que foi ocupado pelo docker em um determinado momento e que agora não tem mais sentido de estar presente no meu servidor, basta executar um simples comando do Docker. Entretanto ressalto que este comando deve ser utilizado com consciência, vito que ele não apaga somente o cache, mas sim todos os contêiners parados, todos os volumes não utilizados por nenhum contêiner, todas as redes não utilizadas por nenhum contêiner e todas as imagens que não estão associadas a nenhum contêiner.

Vou listar aqui o espaço em disco do meu servidor de testes antes e depois de executar o comando docker system prune -a.

Espaço em disco antes

root@meuservidor:~# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.7G  6.9G  880M  89% /

Agora vou rodar o comando para limpar todos os dados:

root@meuservidor:~# docker system prune -a
WARNING! This will remove:
        - all stopped containers
        - all volumes not used by at least one container
        - all networks not used by at least one container
        - all images without at least one container associated to them
Are you sure you want to continue? [y/N] y

É nessa hora que tem que ter certeza do que quer. Se colocar sim, toda mágica acontecerá!
Espaço em disco depois

root@meuservidor:~# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.7G  5.0G  2.8G  64% /

Lembrando: Tenha cuidado ao executar este comando e eu não me responsabilizo pelo seu mau uso. 😉