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
-
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.
-
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
-
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
-
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
Description
docker imagesno 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-truncflag.Ideally,
docker imageswould 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 --allflag 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
Do a
docker compose pull. In this case, InfluxDB is being updated.The expected situation is the newly-pulled image is available while the previous image is tagged
<none>. Under previous versions ofdocker images, both images would be visible.As of docker 29.0.0 there is no sign of the untagged
<none>image for the old InfluxDB:In theory, the
--allflag should show all images but it does not.However, appending the
--no-truncflag reveals the untagged<none>image for the old InfluxDB.Expected behavior
That a vanilla
docker imagescommand 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: de40ad0docker info
Additional Info
No response