Docker Community Forums

Share and learn in the Docker community.

Some docker image tag as none

I build a docker image and push it to my custom registry with a relevant tag. But when I pull it from my registry it is shown below. Some images pulled from the official docker registry. Can anyone explain why the image tag is shown as ?

[root@host ~]# docker images
REPOSITORY                                      TAG                   IMAGE ID            CREATED             SIZE
my_registry_com/reposity_name/video-chat-app   <none>                a1dbe7adbec5        36 hours ago        179MB
my_registry_com/reposity_name/video-chat-app   <none>                227e89445050        3 days ago          179MB
my_registry_com/reposity_name/video-chat-app   <none>                61e974a9826a        3 days ago          179MB
my_registry_com/reposity_name/video-chat-app   <none>                31cff9189699        3 days ago          179MB
my_registry_com/reposity_name/video-chat-app   <none>                e162884209fd        3 days ago          179MB
my_registry_com/reposity_name/video-chat-app   <none>                a37971687a89        4 days ago          179MB
my_registry_com/reposity_name/video-chat-app   <none>                fb9a11b5a40f        4 days ago          179MB
my_registry_com/reposity_name/video-chat-app   <none>                0746e28687e5        4 days ago          179MB
my_registry_com/reposity_name/video-chat-app   <none>                8c021e37ffd7        10 days ago         179MB
my_registry_com/reposity_name/video-chat-app   <none>                f0be13d079af        2 weeks ago         179MB
my_registry_com/reposity_name/video-chat-app   <none>                274d8eae34c0        3 weeks ago         179MB
my_registry_com/reposity_name/video-chat-app   <none>                afdd961b2197        3 weeks ago         179MB
my_registry_com/reposity_name/video-chat-app   <none>                03b7fcb66d47        3 weeks ago         179MB
my_registry_com/reposity_name/video-chat-app   <none>                8a9ccad05594        3 weeks ago         179MB
my_registry_com/reposity_name/video-chat-app   <none>                77c4841c3086        3 weeks ago         179MB
my_registry_com/reposity_name/video-chat-app   <none>                d6bbf1b09f42        3 weeks ago         179MB
mysql                                          <none>                afa411733b0c        5 weeks ago         302MB
mariadb                                        <none>                b6184b68d1fd        5 weeks ago         357MB
mariadb                                        10.5.2                fd055a110f74        5 weeks ago         360MB
kelum_app                                      latest                57296b7b5a4f        5 weeks ago         137MB
kelum_ssl                                      latest                cbcbc204c4d6        5 weeks ago         21.7MB
nginx                                          1.17.9-alpine         377c0837328f        2 months ago        19.7MB
openjdk                                        8u212-jre-alpine3.9   f7a292bbb70c        12 months ago       84.9MB
[root@host ~]# 

Thanks

As for your “video-chat-app” it seems you haven’t set a tag. And even if you would have, when you run a “new container” with the same tag, the old will get renamed to “none” while the new one will take its name.

You can try and list only untagged images (ones with no labels, or with label with no tag):

docker images -q -a | xargs docker inspect --format=’{{.Id}}{{range $rt := .RepoTags}} {{$rt}} {{end}}’|grep -v ‘:’
However, some of those untagged images might be needed by others.

I prefer removing only dangling images:

docker rmi $(docker images --filter “dangling=true” -q --no-trunc)
As I mentioned for for docker 1.13+ in Sept. 2016 in “How to remove old and unused Docker images”, you can also do the image prune command:

docker image prune
That being said, Janaka Bandara mentions in the comments:

This did not remove -tagged images for me (e.g. foo/bar:); I had to use docker images --digests and docker rmi foo/bar@

Janaka references “How to Remove a Signed Image with a Tag” from Paul V. Novarese:

docker images

REPOSITORY TAG IMAGE ID CREATED SIZE
pvnovarese/mprime latest 459769dbc7a1 5 days ago 4.461 MB
pvnovarese/mprime 459769dbc7a1 5 days ago 4.461 MB
Diagnostic Steps
You can see the difference in these two entries if you use the --digests=true option (the untagged entry has the Docker Content Trust signature digest):

docker images --digests=true

REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
pvnovarese/mprime latest 459769dbc7a1 5 days ago 4.461 MB
pvnovarese/mprime sha256:0b315a681a6b9f14f93ab34f3c744fd547bda30a03b55263d93861671fa33b00 459769dbc7a1 5 days ago
Note that Paul also mentions moby issue 18892:

After pulling a signed image, there is an “extra” entry (with tag ) in “docker images” output.
This makes it difficult to rmi the image (you have to force it, or else first delete the properly-tagged entry, or delete by digest.