delta between two docker images and patching it
Description
Hi Team,
We wanted to generate a delta between two version images and ship only the incremental changes to customer instead of whole new version image which is huge in size. so we need delta generation and patching mechanism for docker images. We tried with general binary diffing and patching tools. but that doesnt solve this problem since every image is stored as a blob in docker when we use docker save . so the delta generated is huge in size and other problem is docker save modifies the sha values when we save the same image multiple times
Kindly add this a new feature request
Thanks
Yes, this is a known limitation of the layer-based diffs for situations where a large number of files are part of the same layer (but potentially only few of those changed)
You may be interested looking at some of the optional containerd snapshotters; I think the nydus snapshotter (and related tools) allow converting images to a more optimized format to provide deltas https://github.com/containerd/nydus-snapshotter?tab=readme-ov-file
There's also some prior art from balena to generate binary deltas (but not sure if that's compatible with regular runtimes); https://blog.balena.io/why-linux-containers-matter-for-the-internet-of-things/
closing, looks like this went stale.