Recherche de site Web

Comment supprimer des images, des conteneurs et des volumes Docker


Docker est une plate-forme 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 créer, déployer et exécuter facilement des applications.

Un conteneur est une technologie de visualisation des systèmes d'exploitation, qui permet de regrouper une application avec tout le nécessaire pour l'exécuter, lui permettant ainsi de s'exécuter indépendamment du système d'exploitation. Une image de conteneur est un package exécutable autonome d'une application qui comprend tout ce qui est nécessaire pour l'exécuter : le code, le runtime, les outils et bibliothèques système, ainsi que les 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.

  1. Installez Docker et apprenez la manipulation de base des conteneurs dans CentOS et RHEL 7/6
  2. Comment déployer et exécuter des applications dans des conteneurs Docker sur CentOS/RHEL 7/6
  3. Créez et configurez automatiquement des images Docker avec Dockerfile sur CentOS/RHEL 7/6
  4. Comment configurer un serveur Web Apache simple dans un conteneur Docker

Dans cet article, nous expliquerons comment supprimer les images, conteneurs et 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 avec 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 dans la capture d'écran qui suit, nous avons des images sans balise (affichant à la place), elles sont appelées « images pendantes ». Ils n'ont plus aucune relation avec les images tagué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 en utilisant l'ID de l'image, par exemple (où d65c4d6a3580 est l'ID de l'image).

docker rmi d65c4d6a3580 				#remove a single image
docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc	#remove multiple images

Vous pouvez lister 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 en suspens, vous permettant ainsi de récupérer de 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 de votre système à l'aide de la commande suivante.

docker ps
OR
docker ps -a  

Une fois que vous avez identifié le ou les conteneurs que vous souhaitez supprimer, vous pouvez les supprimer grâce à leur identifiant 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 son exécution en ajoutant l'indicateur --force ou -f, cela lui enverra un < signalSIGKILL comme indiqué.

docker rm -f 0fd99ee0cb61

Vous pouvez également supprimer des 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 des volumes Docker

Comme auparavant, commencez par répertorier tous les volumes Docker de votre système avec 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 plusieurs volumes.

docker volume rm -f volume_ID

Pour supprimer les volumes en suspens, 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 supprimera les volumes de manière interactive.

docker volume prune	

Comment supprimer des images, des conteneurs, des volumes et des réseaux inutilisés ou pendants

Vous pouvez supprimer toutes les données en suspens 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, pour empêcher la suppression de données vitales si aucun conteneur n'utilise actuellement le volume.

docker system prune

Pour élaguer les 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 par exemple ajouter un utilisateur au groupe docker.

sudo usermod -a -G docker aaronkilik

Pour plus d'informations, consultez la page d'aide pour les commandes de gestion des objets Docker ci-dessus.

docker help
docker image help   
docker container help   
docker volume help   

C'est tout pour le moment! Dans cet article, nous avons expliqué comment supprimer les images, conteneurs et volumes Docker via l'outil de ligne de commande Docker. Si vous avez des questions ou des idées à partager, utilisez le formulaire de commentaires ci-dessous pour nous contacter.