Skip to content

[automated] docs: fix incorrect claim about compressed layer deduplication in containerd image store#24496

Open
dvdksn wants to merge 2 commits intodocker:mainfrom
dvdksn:fix/issue-24476-containerd-layer-dedup
Open

[automated] docs: fix incorrect claim about compressed layer deduplication in containerd image store#24496
dvdksn wants to merge 2 commits intodocker:mainfrom
dvdksn:fix/issue-24476-containerd-layer-dedup

Conversation

@dvdksn
Copy link
Copy Markdown
Contributor

@dvdksn dvdksn commented Mar 24, 2026

🤖 Generated with Claude Code

Summary

The "Disk space usage" section incorrectly stated that the containerd image store stores per-image copies of shared compressed layers. This is factually wrong.

  • The containerd content store is content-addressed: compressed blobs are stored once per unique digest and shared across all images that reference them — the same deduplication behavior as legacy storage drivers.
  • The actual source of increased disk usage is dual storage: containerd keeps both the compressed blob (content store, by digest) and the unpacked snapshot (snapshotter), whereas legacy drivers discarded the compressed form after unpacking.
  • The overhead is therefore per unique layer, not per image referencing that layer.

The fix replaces the incorrect paragraph with an accurate description of both deduplication behavior and the real source of overhead.

Closes #24476

@netlify
Copy link
Copy Markdown

netlify bot commented Mar 24, 2026

Deploy Preview for docsdocker ready!

Name Link
🔨 Latest commit 1c906d9
🔍 Latest deploy log https://app.netlify.com/projects/docsdocker/deploys/69c3c2effb19760009437993
😎 Deploy Preview https://deploy-preview-24496--docsdocker.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@dvdksn dvdksn requested review from a team and vvoland March 24, 2026 12:02
@github-actions github-actions bot added area/engine Issue affects Docker engine/daemon area/storage Relates to storage, volumes labels Mar 24, 2026
Copy link
Copy Markdown
Contributor

@docker-agent docker-agent bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assessment: 🟢 APPROVE

This PR correctly fixes a factual inaccuracy in the documentation. The original text incorrectly stated that the containerd image store duplicates compressed layers across images ("each image stores its own compressed version of shared layers").

The corrected text accurately explains that:

  • Compressed layers ARE deduplicated by digest in the content store (same as legacy drivers)
  • The overhead comes from dual storage (compressed + unpacked), not from duplication

The fix improves technical accuracy and aligns with how containerd's content-addressed storage actually works. No documentation quality issues found.

@mike-sul
Copy link
Copy Markdown

I suggest removing the paragraph starting with "This difference is particularly noticeable with multiple images sharing the same base layers" altogether, as the opening sentence contradicts the explanation. Since shared layers are deduplicated, there’s nothing particularly noticeable here - the real difference is the dual storage (compressed and unpacked) of each unique layer, which is already covered in the previous paragraphs.

The paragraph opened with "This difference is particularly noticeable
with multiple images sharing the same base layers" — but then went on to
explain that shared layers are deduplicated just like with legacy drivers.
The opening sentence contradicts the explanation: since deduplication
applies equally, there is nothing particularly noticeable about the
shared-layer case.

Remove the paragraph. The dual-storage overhead per unique layer is
already explained in the preceding paragraph.

Per review comment from mike-sul.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
@dvdksn
Copy link
Copy Markdown
Contributor Author

dvdksn commented Mar 25, 2026

Good catch, @mike-sul — removed the paragraph entirely. The opening sentence was indeed self-defeating: if deduplication works the same as legacy drivers, there's nothing particularly noticeable about the shared-layer case. The dual-storage explanation in the preceding paragraph is sufficient.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent/generated area/engine Issue affects Docker engine/daemon area/storage Relates to storage, volumes status/review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Clarify statement about compressed layer storage in containerd image store

2 participants