Docker erreur ne peut pas supprimer le conteneur docker, conflit: impossible de supprimer le référentiel de référence
Je veux enlever le conteneur Docker, mais une erreur se produit lorsque vous souhaitez supprimer
Ma prochaine étape avant de retirer le récipient, voir la liste des conteneurs existants
sts@Yudi:~/docker$ sudo docker ps -as
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
78479ffeba5c ubuntu "/bin/bash" 42 hours ago Exited (0) 42 hours ago sharp_wescoff 81 B (virtual 187.7 MB)
0bd2b54678c7 training/webapp "python app.py" 5 days ago Exited (0) 5 days ago backstabbing_ritchie 0 B (virtual 323.7 MB)
0adbc74a3803 training/webapp "python app.py" 5 days ago Exited (143) 5 days ago drunk_feynman 0 B (virtual 323.7 MB)
un je veux supprimer la liste, à savoir "formation /webapp"
mais une erreur qui s'est produite
sts@Yudi:~/docker$ sudo docker rmi training/webapp
Error response from daemon: conflict: unable to remove repository reference "training/webapp" (must force) - container 0bd2b54678c7 is using its referenced image 54bb4e8718e8
Error: failed to remove images: [training/webapp]
Si le récipient est en cours d'exécution dans les images?
S'il vous plaît aider
- cela m'arrive parfois, mais je suis incapable de comprendre le motif de ce qu'il provoque à arriver (car il n'est pas toujours le cas pour moi), et en plus, si je me force à retirer à l'image qu'il supprime un tas d'autres trucs aussi. Savez-vous quelle est la cause de l'erreur pour vous? êtes-vous capable de la reproduire?
- Excellent résumé récent Comment faire Pour Supprimer le Panneau des Images, des Conteneurs et des Volumes à partir de Melissa Anderson Décembre 2017, avec le filtre, des exemples, des modèles, etc.
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, retirez le récipient noms
Le résultat
supprimer la deuxième partie, qui est cotée sur le conteneur à être supprimé
Deuxième, retirer le récipient
Le résultat
Vérifier la continer
rm `docker ps -aq`
pour le nettoyage, plutôt que de les retirer un à un. Plus d'informations hereIl y a une différence entre le panneau des images et des conteneurs docker. Cochez cette DONC, la Question.
En bref, un conteneur est une instance d'une image. c'est pourquoi vous ne pouvez pas supprimer une image si il y a exécution d'un conteneur à partir de cette image. Vous avez juste besoin de supprimer le conteneur premier.
Mise à jour pour Docker 1.13+ [Depuis janvier 2017]
Fondamentalement, les commandes ci-dessus, pourrait également être réécrit, plus clairement, comme:
docker rmi -f id
de "forcer" la suppression.vous pouvez utiliser
-f
option à force de supprimer les conteneurs .sudo docker rmi -f training/webapp
Vous pouvez arrêter les récipients à l'aide de
sudo docker stop training/webapp
avant de supprimersudo docker stop 0bd2b54678c7
Si vous voulez nettoyage de docker images et les conteneurs
ATTENTION: cela va vider
arrêter tous les conteneurs
supprimer tous les conteneurs
supprimer toutes les images
docker rm $(docker ps -a -q)
. Merci!Si vous avez plusieurs conteneurs docker lancé, utilisez ce
$ docker rm $(docker ps -aq)
Il va supprimer tous les dockers répertoriés dans le "ps -aq de la commande".
Source : aaam-association américaine sur https://github.com/docker/docker/issues/12487
docker image ls
et puisdocker image rm X
où chaque X est obtenu à partir de lals
de sortie.Remarqué, c'est un 2-ans question, mais encore envie de partager ma solution de contournement pour cette question en particulier:
Tout d'abord, exécutez
docker container ls -a
à la liste de tous les conteneurs que vous avez, et de préciser que vous souhaitez supprimer.Deuxièmement, supprimer l'un avec la commande
docker container rm <CONTAINER ID>
(Si le conteneur est actuellement en cours d'exécution, vous devez l'arrêter tout d'abord, exécutezdocker container stop <CONTAINER ID>
pour arrêter le conteneur spécifié, s'il ne cesse pas pour quelle que soit la raison, vous pouvez également exécuterdocker container kill <CONTAINER ID> to force shutdown of the specified container
).Troisièmement, retirer le récipient en exécutant
docker container rm <CONTAINER ID>
.Enfin, vous pouvez exécuter
docker image ls -a
pour afficher toutes les images et de supprimer celui que vous voulez en exécutantdocker image rm <hash>
.