How to remove multiple docker images with the same imageID?
Solution 1
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
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
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
Run the following command to remove multiple docker images with the same IMAGE ID.
sudo docker rmi -f **IMAGE ID**
Solution 5
You can use the command docker rmi IMAGE_NAME:TAG_NAME and it will work.
Hadi
Updated on July 09, 2022Comments
-
Hadi almost 2 years
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.
-