Como Remover todos os containers Docker de uma vez só

Ainda que em ambientes de produção dificilmente esse será o caso, ao trabalhar em um Lab, podem existir momentos onde apagar todos os seus projetos e começar do zero é interessante.

Se você tem muitos contêineres Docker rodando, parar um por um, remover imagens, remover redes, volumes e tudo mais, pode ser bem trabalhoso, então, como apagar tudo de uma vez?

Como apagar todos os containers ao mesmo tempo?

Para apagar todos os containers simultaneamente, precisamos parar a execução deles primeiro, o Docker vai se negar a apagar qualquer coisa que esteja rodando.

Para parar os containers, como ROOT, rode o comando:

docker stop $(docker ps -a -q)

Com todos containers parados, agora depende um pouco do que você quer fazer, se você quiser apenas remover os containers, mas manter imagens, volumes, redes e cache, você pode usar um comando similar:

docker rm $(docker ps -a -q)

Se a ideia for apagar tudo mesmo, para deixar o ambiente como se você tivesse acabado de instalar o Docker, podemos usar um outro parâmetro interna do próprio Docker chamado “prune”.

docker system prune -a

Preste atenção ao fazer isso, já que o comando acima é extremamente destrutivo, já que ele:

  • Apaga TODOS os containers parados;
  • Apaga TODAS as redes que não estiverem sendo usadas por pelo menos um container;
  • Apaga TODAS as imagens que não estiverem sendo usadas por algum container;
  • Apaga TODO o cache de build de containers.

O terminal vai lhe pedir uma confirmação, cuja resposta padrão é N (Não/No), para seguir, é preciso digitar y (Sim/Yes) para continuar.

Depois desse processo, tudo deverá ter sido apagado, você pode confirmar se isso realmente aconteceu usando comandos de listagem do Docker, como este, no caso de containers:

docker ps -a

Ou os seus equivalentes para imagens, redes, volumes, etc.

Valeu! :vulcan_salute:

4 curtidas