Le problème
Lorsque vous essayez de supprimer une image Docker, vous obtenez une erreur comme indiqué ci-dessous.
# docker rmi d123f4e55e12 Error response from daemon: conflict: unable to delete d123f4e55e12 (cannot be forced) - image is being used by running container 0f1262bd1285
Pour que cette erreur se produise, il doit y avoir un conteneur sur le système qui dépend de l'image. L'erreur indique quel conteneur utilise l'image, supprimez le conteneur avant de supprimer l'image.
Solution
1. Vous avez plusieurs images Docker extraites du hub Docker sur votre nœud Docker. Et vous voulez supprimer l'image centos du nœud docker.
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE fedora latest 422dc563ca32 3 days ago 252MB ubuntu latest dd6f76d9cc90 13 days ago 122MB hello-world latest 725dcfab7d63 2 weeks ago 1.84kB centos latest d123f4e55e12 2 weeks ago 197MB
2. Pour trouver quel conteneur utilise l'image centos, utilisez la commande ci-dessous.
# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0f1262bd1285 centos "/bin/bash" 5 minutes ago Up 5 minutes dreamy_gates
Comme vous pouvez le voir dans la sortie ci-dessus, le conteneur Docker "dreamy_gates" utilise notre image centos.
3. Nous devons d'abord arrêter le conteneur "dreamy_gates". Pour ce faire, utilisez la commande ci-dessous :
# docker stop 0f1262bd1285 0f1262bd1285
4. Vous pouvez maintenant supprimer le conteneur Docker.
# docker rm 0f1262bd1285 0f1262bd1285
5. Et enfin, vous pouvez supprimer l'image docker pour les centos.
# docker rmi d123f4e55e12 Untagged: centos:latest Untagged: centos@sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a Deleted: sha256:d123f4e55e1200156d9cbcf4421ff6d818576e4f1e29320a408c72f022cfd0b1 Deleted: sha256:cf516324493c00941ac20020801553e87ed24c564fb3f269409ad138945948d4
6. Vérifiez que l'image est bien supprimée à l'aide de la commande « docker images ».
# docker images