How to remove an image tag in Docker without removing the image itself?
Solution 1:
If your image is tagged with more than one tag, then docker rmi
will remove the tag, but not the image.
So in your example ...
# docker rmi my-imaj
... will remove that tag and leave the image present with the other correct tag.
Solution 2:
Run docker rmi REPOSITORY:TAG
to remove the tag.
The REPOSITORY
and TAG
values come from docker images
output.
For example
$ docker rmi my-image:0e5574283393
Untagged: my-image:0e5574283393
Solution 3:
Starting from an empty docker repo, import an image by typing:
#docker run hello-world
Run the docker images
command to list the images. The result should look like this:
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 7bc42cc48a84 4 weeks ago 316MB
Now let's create an image tag called v1 by running the docker tag
command:
#docker tag hello-world:latest hello-world:v1
If we run the docker images
command we'll see our new tag like this:
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 7bc42cc48a84 4 weeks ago 316MB
hello-world v1 7bc42cc48a84 4 weeks ago 316MB
To delete a specific tag (to answer the original question), run the docker rmi hello-world:v1
where v1 is the tag name. The output will look like this:
#docker rmi hello-world:v1
Untagged: hello-world:v1
Run the docker images
command to list the images. Notice that the image tag has been removed:
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 7bc42cc48a84 4 weeks ago 316MB