How to remove multiple docker images with the same imageID?

ImageDockerContainers

Image Problem Overview


I created a local docker registry and then pull some of my docker images from docker hub and then push them to the local registry. Now I want to remove my local images. But the problem here is that imageID of the images are the same and I cannot remove them. I searched for the solution but I couldn't find the solution.

>> docker images

REPOSITORY                     TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
localhost:5000/[repo1]        v-0.9.1              810001cb03af        4 weeks ago         594.6 MB
[myaccount]/[repo1]           v-0.9.1              810001cb03af        4 weeks ago         594.6 MB

as you see the image ID are the same for both images. How can I remove them?

EDIT

  • my docker version:

    Docker version 1.8.2, build 0a8c2e3

  • output of docker rmi 810001cb03af:

    Error response from daemon: Conflict, cannot delete image 810001cb03af because it is tagged in multiple repositories, use -f to force Error: failed to remove images: [810001cb03af]

  • If I do docker rmi -f 81000 it will remove both of them and I need to pull again.

Image Solutions


Solution 1 - Image

Here is a way you could do this. Run the command:

docker images | grep 810001cb03af | awk '{print $1 ":" $2}' | xargs docker rmi

where 810001cb03af is your image id.

Solution 2 - Image

Here is one way :

Repository and tag data can be provided to "docker rmi" command to remove image if images id are same.

command

docker rmi [repository_name1]:[tag1] [repository_name2]:[tag2]

example

docker rmi test-nginx:latest ubuntu:latest

Note : one needs to name and tag the image appropriately to use the above command effectively for requirement mentioned in the question.

Refer Docker docs for "docker rmi" command help : here

Solution 3 - Image

Short Answer:

Remove it by id and use -f flag:

$ docker rmi -f fd484f19954f

Untagged: test1:latest
Untagged: test2:latest
Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8

Explanation

These are not multiple images with same id. This is actually one image that is referenced in multiple repositories (i.e. given multiple names/tags). This scenario is described exactly in rmi command documentation > You can remove an image using its short or long ID, its tag, or its digest. If an image has one or more tag referencing it, you must remove all of them before the image is removed. Digest references are removed automatically when an image is removed by tag.

Given,

$ docker images

REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
test1                     latest              fd484f19954f        23 seconds ago      7 B (virtual 4.964 MB)
test2                     latest              fd484f19954f        23 seconds ago      7 B (virtual 4.964 MB)

You can, as an alternative to the short answer above, remove tags one by one (the last tag will actually remove the image too):

$ docker rmi test1:latest

Untagged: test1:latest

$ docker rmi test2:latest

Untagged: test2:latest
Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8

Solution 4 - Image

Run the following command to remove multiple docker images with the same IMAGE ID.

sudo docker rmi -f **IMAGE ID**

Solution 5 - Image

You can use the command docker rmi IMAGE_NAME:TAG_NAME and it will work.

Solution 6 - Image

There are multiple ways you can delete.

a) delete only one:

$ sudo docker rmi login(REPOSITORY NAME):latest(TAG NAME)

b) delete all with matching id with -f command:

$ sudo docker rmi -f 91dfd8adbf04(IMAGE ID)

Solution 7 - Image

I just checked in the Docker docs and i think this is something also can be done

> rmi

You can remove an image using its short or long ID, its tag, or its digest. If an image has one or more tag or digest reference, you must remove all of them before the image is removed.

so rather than using ID u can do something like this ---

$ docker rmi test1 Untagged: test1:latest $ docker rmi test2 Untagged: test2:latest

Solution 8 - Image

You should try removing images using digest,

    $ docker images --digests

    REPOSITORY                     TAG       DIGEST                                                                    IMAGE ID        CREATED         SIZE
    localhost:5000/test/busybox    <none>    sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf   4986bf8c1536

    $ docker rmi localhost:5000/test/busybox@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
     Untagged: localhost:5000/test/busybox@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf

    Deleted: 4986bf8c15363d1c5d15512d5266f8777bfba4974ac56e3270e7760f6f0a8125
    Deleted: ea13149945cb6b1e746bf28032f02e9b5a793523481a0a18645fc77ad53c4ea2
    Deleted: df7546f9f060a2268024c8a230d8639878585defcc1bc6f79d2728a13957871b

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionHadiView Question on Stackoverflow
Solution 1 - Imageuser2707671View Answer on Stackoverflow
Solution 2 - Imagespectre007View Answer on Stackoverflow
Solution 3 - ImageAhmad AbdelghanyView Answer on Stackoverflow
Solution 4 - ImageMurali KrishnaView Answer on Stackoverflow
Solution 5 - ImageUdit GandhiView Answer on Stackoverflow
Solution 6 - ImageKundanView Answer on Stackoverflow
Solution 7 - ImageChetan SharmaView Answer on Stackoverflow
Solution 8 - ImageSohanView Answer on Stackoverflow