How to remove an image tag in Docker without removing the image itself?

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"!

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.

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

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

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

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 https://success.docker.com/KBase/How_to_Remove_a_Signed_Image_with_a_<none>_Tag