187

Let's say I want to tag a Docker image, and make a typo. How do I remove the tag without removing the image itself? Neither the manpages nor the Docker documentation mention removing tags.

docker tag 0e5574283393 my-imaj
docker tag 0e5574283393 my-image
# docker untag my-imaj # There is no "docker untag"!
  • 5
    For those who want to untag <none>-tagged images like foo/bar:<none>: use docker images --digests and docker rmi foo/bar@<digest> as described at success.docker.com/KBase/… – Janaka Bandara Aug 12 '17 at 5:00
264

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.

| improve this answer | |
  • 4
    Thanks. I wish they mentioned this in the documentation :-/ – Mihai Jul 3 '15 at 14:17
  • 3
    If the tag I'm removing is the last one though, the image will get removed. So I wonder what is the answer to the question in the topic? How do I remove the tag and keep the image cached? – kub1x Oct 17 '17 at 12:57
  • 4
    And the answer is as always use --help, don't be lazy to read. docker image remove --no-prune.. in case somebody is interested. – kub1x Oct 18 '17 at 9:58
  • 5
    This is false, it simply removed my image. Fortunately, knowing docker I was already suspicious, and created a backup before with docker save. – peterh - Reinstate Monica Oct 9 '18 at 14:06
  • 3
    @peterh the answer clearly states If your image is tagged with more than one tag..., it should be updated however with the command from the comments that explains how to remove the last tag without removing the image. – BrainSlugs83 Jul 20 '19 at 1:53
32

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
| improve this answer | |
25

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
| improve this answer | |
  • The least ambiguous approach albeit 3 years later. +1 – bvj Aug 9 '18 at 6:08
0

Tag other image with you tag name and afterwards your tag from your current image will be removed.

| improve this answer | |
  • Welcome to ServerFault! Please clarify or add some command example steps. Check out the guide here: serverfault.com/help/how-to-answer – Cory Knutson Oct 5 '17 at 21:55
  • Not a useful answer, if the tag was a typo as indicated, you wouldn't want it on some other image either. – Ken Williams Sep 6 '19 at 16:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.