Comment supprimer des images, des conteneurs et des volumes Docker
Docker est une plateforme de conteneurs open-source, puissante, sécurisée, fiable et efficace qui permet une indépendance réaliste entre les applications et l’infrastructure. Il est largement adopté par les entreprises informatiques et cloud, pour faciliter la création, le déploiement et l’exécution d’applications.
Un conteneur est une technologie de visualisation des systèmes d’exploitation, qui permet à une application d’être empaquetée avec tout ce qui est nécessaire pour l’exécuter, ce qui lui permet de s’exécuter indépendamment du système d’exploitation. Une image conteneur est un package exécutable autonome d’une application qui comprend tout ce qui est nécessaire à son exécution : code, runtime, outils système et bibliothèques, ainsi que des configurations.
Nous avons déjà couvert une série sur Docker, qui explique comment installer Docker, exécuter des applications dans des conteneurs et créer automatiquement des images Docker avec dockerfile.
- Installez Docker et apprenez les bases de la manipulation de conteneurs dans CentOS et RHEL 7/6
- Comment déployer et exécuter des applications dans des conteneurs Docker sur CentOS/RHEL 7/6
- Créez et configurez automatiquement des images Docker avec Dockerfile sur CentOS/RHEL 7/6
- Comment configurer un serveur Web Apache simple dans un conteneur Docker
Dans cet article, nous allons expliquer comment supprimer des images, des conteneurs et des volumes docker via l’outil de ligne de commande docker dans les systèmes Linux.
Comment supprimer les images Docker
Avant de supprimer des images Docker, vous pouvez répertorier toutes les images existantes sur votre système à l’aide de la commande de gestion des images.
$ docker image #list the most recently created images
OR
docker image -a #list all images
En regardant le résultat de la capture d’écran qui suit, nous avons des images sans balise (montrant à la place), celles-ci sont appelées « images pendantes ». Elles n’ont plus aucun rapport avec les images étiquetées ; Ils ne sont plus utiles et ne consomment que de l’espace disque.
Vous pouvez supprimer une ou plusieurs images Docker anciennes ou inutilisées à l’aide de l’ID d’image, par exemple (où d65c4d6a3580 est l’ID d’image).
$ docker rmi d65c4d6a3580 #remove a single image
docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images
Vous pouvez répertorier les images pendantes (images non balisées) à l’aide de l’indicateur de filtre -f, comme indiqué.
$ docker images -f dangling=true
Pour supprimer toutes les images pendantes, ce qui vous permet de récupérer l’espace disque gaspillé, utilisez l’une de ces commandes.
$ docker image prune #interactively remove dangling images
OR
docker rmi $(docker images -q -f dangling=true)
Pour supprimer tout ce qui n’est associé à aucun conteneur, utilisez la commande suivante.
$ docker image prune -a
Comment supprimer les conteneurs Docker
Vous pouvez commencer par répertorier tous les conteneurs Docker sur votre système à l’aide de la commande suivante.
$ docker ps
OR
docker ps -a
Une fois que vous avez identifié le(s) conteneur(s) que vous souhaitez supprimer, vous pouvez les supprimer à l’aide de leur ID par exemple.
$ docker rm 0fd99ee0cb61 #remove a single container
docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple containers
Si un conteneur est en cours d’exécution, vous pouvez d’abord l’arrêter et le supprimer comme indiqué.
$ docker stop 0fd99ee0cb61
docker rm -f 0fd99ee0cb61
Vous pouvez également forcer la suppression d’un conteneur pendant qu’il est en cours d’exécution en ajoutant l’indicateur --force ou -f, cela lui enverra un signal SIGKILL comme indiqué.
$ docker rm -f 0fd99ee0cb61
Vous pouvez également retirer les conteneurs à l’aide de filtres. Par exemple, pour supprimer tous les conteneurs quittés, utilisez cette commande.
$ docker rm $(docker ps -qa --filter "status=exited")
Pour arrêter et supprimer tous les conteneurs, utilisez les commandes suivantes.
$ docker stop $(docker ps -a -q) #stop all containers
docker container prune #interactively remove all stopped containers
OR
docker rm $(docker ps -qa)
Comment supprimer Docker Volumes
Comme précédemment, commencez par répertorier tous les volumes Docker de votre système à l’aide de la commande de gestion des volumes, comme indiqué.
$ docker volume ls
Pour supprimer un ou plusieurs volumes, utilisez la commande suivante (notez que vous ne pouvez pas supprimer un volume utilisé par un conteneur).
$ docker volume rm volume_ID #remove a single volume
docker volume rm volume_ID1 volume_ID2 #remove multiple volumes
Utilisez l’indicateur -f pour forcer la suppression d’un ou de plusieurs volumes.
$ docker volume rm -f volume_ID
Pour supprimer les volumes suspendus, utilisez la commande suivante.
$ docker volume rm $(docker volume ls -q --filter dangling=true)
Pour supprimer tous les volumes locaux inutilisés, exécutez la commande suivante. Cela permet de supprimer des volumes de manière interactive.
$ docker volume prune
Comment supprimer des images, des conteneurs, des volumes et des réseaux inutilisés ou suspendus
Vous pouvez supprimer toutes les données pendantes et non référencées telles que les conteneurs arrêtés, les images sans conteneurs, avec cette seule commande. Par défaut, les volumes ne sont pas supprimés, afin d’éviter que des données essentielles ne soient supprimées s’il n’y a actuellement aucun conteneur utilisant le volume.
$ docker system prune
Pour élaguer des volumes, ajoutez simplement l’indicateur --volumes à la commande ci-dessous, comme indiqué.
$ docker system prune --volumes
Remarque : Pour exécuter l’outil de ligne de commande docker sans la commande sudo, vous devez ajouter un utilisateur au groupe docker, par exemple.
$ sudo usermod -a -G docker aaronkilik
Pour plus d’informations, consultez la page d’aide des commandes de gestion d’objets docker ci-dessus.
$ docker help
docker image help
docker container help
docker volume help
C’est tout pour l’instant ! Dans cet article, nous avons expliqué comment supprimer des images, des conteneurs et des volumes Docker via l’outil de ligne de commande docker. Si vous avez des questions ou des réflexions à partager, utilisez le formulaire de commentaires ci-dessous pour nous joindre.



