Comment supprimer toutes les images Docker locales ?

Lorsque vous utilisez l'outil Docker sur votre ordinateur, vous devez penser à supprimer les images et containers avant d'éteindre votre machine. On utilise pour cela la commande "docker-compose down". Si vous ne le faites pas, de nouvelles images vont être créées au redémarrage et les premières ne serviront plus et consommeront de l'espace disque pour rien. Il existe heureusement des solutions pour récupérer cet espace en supprimant les images.

Docker propose nativement une commande permettant de supprimer les éléments créés. Il s'agit de la commande "docker system prune". Ajoutez l'option "-a", afin de supprimer tous les éléments non utilisés, et l'option "--volumes" afin de récupérer l'espace disque libéré (par défaut, docker le garde pour qu'il soit réutilisé quand on recréera des images et containers). La commande va supprimer les containers, images et réseaux non utilisés.

docker system prune -a --volumes

Vous pouvez également, sous Linux, utiliser la commande "docker rm". En y ajoutant les options "-vf", la suppression est forcée et l'espace disque est récupéré. Cela ne supprime pas les images. Vous devez ensuite utiliser la commande "docker rmi" en forçant la suppression pour également supprimer les images.

# Supprime les containers
docker rm -vf
# Supprime les images
docker rmi -f

Si vous travaillez sous Windows, il faut utiliser la commande "docker images" pour manipuler les images et containers. En ajoutant la commande "rm", on indique que l'on souhaite supprimer l'image qui suit. Comme la commande ne fonctionne que pour une image, vous devez lister les images installées et supprimer ensuite chaque image. La syntaxe est différente selon le logiciel dans lequel vous saisissez la commande.

# Commande avec PowerShell
docker images -a -q | % { docker image rm $_ -f }
# Commande avec l'invite de commande
docker images -a -q | % { docker image rm $_ -f }