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!