Il problema
Quando si tenta di rimuovere un'immagine Docker, viene visualizzato un errore come mostrato di seguito.
# docker rmi d123f4e55e12 Error response from daemon: conflict: unable to delete d123f4e55e12 (cannot be forced) - image is being used by running container 0f1262bd1285
Affinché si verifichi questo errore, è necessario che nel sistema sia presente un contenitore che dipende dall'immagine. L'errore segnala quale contenitore sta utilizzando l'immagine, rimuovi il contenitore prima di rimuovere l'immagine.
Soluzione
1. Hai diverse immagini Docker estratte dall'hub Docker al tuo nodo Docker. E vuoi eliminare l'immagine centos dal nodo 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. Per trovare quale contenitore sta usando l'immagine centos, usa il comando seguente.
# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0f1262bd1285 centos "/bin/bash" 5 minutes ago Up 5 minutes dreamy_gates
Come puoi vedere nell'output sopra, il contenitore Docker "dreamy_gates" utilizza la nostra immagine centos.
3. Per prima cosa dobbiamo fermare il contenitore “dreamy_gates”. Per farlo usa il comando seguente:
# docker stop 0f1262bd1285 0f1262bd1285
4. Ora puoi eliminare il contenitore Docker.
# docker rm 0f1262bd1285 0f1262bd1285
5. Infine, puoi eliminare l'immagine della finestra mobile per centos.
# docker rmi d123f4e55e12 Untagged: centos:latest Untagged: centos@sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a Deleted: sha256:d123f4e55e1200156d9cbcf4421ff6d818576e4f1e29320a408c72f022cfd0b1 Deleted: sha256:cf516324493c00941ac20020801553e87ed24c564fb3f269409ad138945948d4
6. Verifica che l'immagine sia stata eliminata utilizzando il comando “immagini docker”.
# docker images