Skip to content

docker images is hiding <none> images #6652

@Paraphraser

Description

@Paraphraser

Description

docker images no longer defaults to showing images with <none> in the tag column.

The only way to reveal the existence of such images is to pass the --no-trunc flag.

Ideally, docker images would go back to the previous behaviour where the list included <none> images by default. After all, a <none> image is still an image and it's occupying storage on the local machine. Why hide it?

If there is a good reason for hiding <none> images then wouldn't the -a --all flag represent a better choice for revealing the existence of those images?

This issue is related to #6650 but it is not the same problem. #6650 is complaining about structure and whether the output is parseable. This issue is complaining about changes to the actual content.

Reproduce

  1. Do a docker compose pull. In this case, InfluxDB is being updated.

    [+] Pulling 11/11
     ✔ nodered Skipped - No image to be pulled                                                                                                                 0.0s 
     ✔ zerotier Pulled                                                                                                                                         2.4s 
     ✔ influxdb Pulled                                                                                                                                        14.0s 
       ✔ 5d93aea69798 Pull complete                                                                                                                            6.8s 
       ✔ bb445e472b1b Pull complete                                                                                                                            8.0s 
       ✔ 0ecd90b47cb0 Pull complete                                                                                                                            8.0s 
       ✔ 53dfe7830eac Pull complete                                                                                                                           10.1s 
       ✔ 86d628405f99 Pull complete                                                                                                                           10.1s 
       ✔ df7b0d9a3e12 Pull complete                                                                                                                           10.2s 
       ✔ 611daf0ecdb0 Pull complete                                                                                                                           10.2s 
     ✔ grafana Pulled                                                                                                                                          2.4s
    

    The expected situation is the newly-pulled image is available while the previous image is tagged <none>. Under previous versions of docker images, both images would be visible.

  2. As of docker 29.0.0 there is no sign of the untagged <none> image for the old InfluxDB:

    $ docker images
                                                                                                                                                i Info →   U  In Use
    IMAGE                                               ID             DISK USAGE   CONTENT SIZE   EXTRA
    grafana/grafana:latest                              bac4f177a0d5        730MB             0B    U   
    influxdb:1.11                                       3bebbdb5fd82        292MB             0B        
    iotstack-nodered:latest                             5698dbb614c5        672MB             0B    U   
    zyclonite/zerotier:latest                           d10d8abac8be       14.9MB             0B    U   
    
  3. In theory, the --all flag should show all images but it does not.

    $ docker images --all
                                                                                                                                                i Info →   U  In Use
    IMAGE                                               ID             DISK USAGE   CONTENT SIZE   EXTRA
    grafana/grafana:latest                              bac4f177a0d5        730MB             0B    U   
    influxdb:1.11                                       3bebbdb5fd82        292MB             0B        
    iotstack-nodered:latest                             5698dbb614c5        672MB             0B    U   
    zyclonite/zerotier:latest                           d10d8abac8be       14.9MB             0B    U   
    
  4. However, appending the --no-trunc flag reveals the untagged <none> image for the old InfluxDB.

    $ docker images --all --no-trunc
    REPOSITORY                                   TAG       IMAGE ID                                                                  CREATED        SIZE
    influxdb                                     1.11      sha256:3bebbdb5fd82ea9ab5d92d2b5529bd2553f4782ee9156acc87829a4df1d6aa8a   8 days ago     292MB
    iotstack-nodered                             latest    sha256:5698dbb614c567a93b8347e94ea2363128fcbc645df7ce8fcef54a2a69b3d7c8   3 weeks ago    672MB
    grafana/grafana                              latest    sha256:bac4f177a0d5a5f8539398abee9c956472c55d98a4438e1c3d03247c3a302b19   3 weeks ago    730MB
    influxdb                                     <none>    sha256:553bcece8a997cefd241fd8950079587a502b01bc37c4a2a373c377bda580347   6 weeks ago    292MB
    zyclonite/zerotier                           latest    sha256:d10d8abac8beacce4fefd178510e3ec2d14fc86611db814408517c0a0536221b   7 weeks ago    14.9MB
    

Expected behavior

That a vanilla docker images command should continue show images with <none> in the tag column.

docker version

Client: Docker Engine - Community
 Version:           29.0.0
 API version:       1.52
 Go version:        go1.25.4
 Git commit:        3d4129b
 Built:             Mon Nov 10 21:47:12 2025
 OS/Arch:           linux/arm64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          29.0.0
  API version:      1.52 (minimum version 1.44)
  Go version:       go1.25.4
  Git commit:       d105562
  Built:            Mon Nov 10 21:47:12 2025
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          v2.1.5
  GitCommit:        fcd43222d6b07379a4be9786bda52438f0dd16a1
 runc:
  Version:          1.3.3
  GitCommit:        v1.3.3-0-gd842d771
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info

Client: Docker Engine - Community
 Version:    29.0.0
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.29.1
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.40.3
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 8
  Running: 8
  Paused: 0
  Stopped: 0
 Images: 12
 Server Version: 29.0.0
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: local
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 CDI spec directories:
  /etc/cdi
  /var/run/cdi
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: fcd43222d6b07379a4be9786bda52438f0dd16a1
 runc version: v1.3.3-0-gd842d771
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.1.21-v8+
 Operating System: Debian GNU/Linux 11 (bullseye)
 OSType: linux
 Architecture: aarch64
 CPUs: 4
 Total Memory: 7.628GiB
 Name: iot-hub
 ID: AKTF:SPT5:YKMH:WV5G:ZKZY:XZI5:ELD5:Z6IV:KVUJ:USCV:5YDG:JPTZ
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
  ::1/128
 Live Restore Enabled: false
 Firewall Backend: iptables

Additional Info

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions