logoalt Hacker News

Docker 29 has changed its default image store for new installs

51 pointsby neitsablast Saturday at 1:41 PM30 commentsview on HN

Comments

0xbadcafebeetoday at 3:50 PM

[delayed]

fabian2ktoday at 2:04 PM

> This difference is particularly noticeable with multiple images sharing the same base layers. With legacy storage drivers, shared base layers were stored once locally, and reused images that depended on them. With containerd, each image stores its own compressed version of shared layers, even though the uncompressed layers are still de-duplicated through snapshotters.

This seems like a really weird decision. If base images are duplicated for every image you have, that will add up quickly.

show 3 replies
Oxodaotoday at 1:29 PM

Docker already fills up my dev machines yet they decided for this insane solution:

> The containerd image store uses more disk space than the legacy storage drivers for the same images. This is because containerd stores images in both compressed and uncompressed formats, while the legacy drivers stored only the uncompressed layers.

Why ?

show 3 replies
neitsablast Saturday at 1:41 PM

Docker v29 (released 2025-11) switched to using containerd for its image store for new installs.

This means `/var/lib/docker` is no longer "hermetic": images and container snapshots are located in `/var/lib/containerd` now.

More info about the switch: https://www.docker.com/blog/docker-engine-version-29/

To configure this directory, see https://docs.docker.com/engine/storage/containerd/.

show 1 reply
newsofthedaytoday at 2:45 PM

The article says to regularly run prune, how regularly? Currently I run the following once per day from cron:

    docker system prune -a -f
    docker volume prune -a -f
show 1 reply
DeathArrowtoday at 2:45 PM

I should start looking into Podman.

mrichmantoday at 1:42 PM

Why not just use podman at this point?

show 1 reply