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

Tags:

Docker