J'essaye de supprimer un conteneur de docker par cette commande:
docker rmi <Image-Id>
Évidemment, j'ai remplacé l'ID d'image par l'ID que j'utilise:
docker images
Mais je vois l'erreur ci-dessous:
Error response from daemon: conflict: unable to delete <Image-ID> (must be forced) - image is being used by stopped container xxxxxxxxxxx
docker
docker-container
Mehrdad Babaki
la source
la source
Vous devez supprimer le conteneur arrêté avec
docker rm
, puis vous pouvez supprimer l'image qu'il utilise avecdocker rmi
.la source
Vous pouvez également constater que vous avez arrêté les conteneurs qui provoquent le verrouillage. Supprimez-les d'abord en utilisant:
Ici, nous listons les processus docker uniquement par l'ID, puis nous les supprimons; cependant, docker rm ne supprimera que les conteneurs arrêtés.
Ensuite, revenez en arrière et supprimez les images en utilisant:
la source
Vous devez d'abord supprimer le conteneur.
Forcé est la dernière méthode à adopter.
la source
Au cas où
docker rmi <image-id>
cela ne fonctionnerait pas, essayez ceci:Arrêtez tous les conteneurs en cours d'exécution
Retirer tous les conteneurs
Supprimer toutes les images
la source
En plus des autres réponses, j'ai eu le même problème avec Docker pour Mac mais je
docker ps -a
n'ai montré aucun conteneur en cours d'exécution. Exécution dedocker images
spectacles:Toutes ces images sont utilisées par l'application Docker si Kubernetes est activé. Dans les préférences de Docker pour Mac, il existe une section pour Kubernetes. Si vous cliquez sur "Afficher les conteneurs système (avancés)", ils apparaîtront dans
docker ps
.Si vous souhaitez supprimer ces images, vous devez désactiver Kubernetes via l'application Docker pour Mac, puis réessayer.
la source
Les conteneurs Docker s'exécutent sur les images Docker, vous ne pouvez supprimer une image que si elle n'est attachée à aucun conteneur.! Vous devez donc arrêter le conteneur et supprimer le conteneur, puis vous pouvez supprimer l'ID d'image.
docker stop container-id et docker rm container-id
Ensuite, essayez de supprimer le docker d'image rmi image-id
Quelques informations supplémentaires fournies dans le lien ci-dessous. À votre santé.!
https://docs.docker.com/config/pruning/
la source
Si l'objectif est de récupérer de l'espace disque, une autre approche non encore mentionnée consiste à utiliser
docker system prune
. Il imprimera un avertissement qui doit être pris en compte:Cela ne supprimera pas les images nommées, mais purgera les images intermédiaires sans nom. Selon la taille des conteneurs que vous utilisez, cela peut économiser une quantité considérable d'espace disque.
la source
Si vous avez changé dans le
Dockerfile
et si vous utilisez docker compose, vous pouvez simplement reconstruire votre image en l'exécutantdocker-compose
avec l'--build
option!la source
Dockerfile
vous ne devez pas supprimer l'image vous-même, utilisez simplement le drapeau--build
avecdocker-compose
pour qu'il reconstruise une nouvelle image avec les modifications