Skip to content

zstd compression-level should cover level mapping #23757

@polarathene

Description

@polarathene

Is this a docs issue?

  • My issue is about the documentation content or website

Type of issue

I can't find what I'm looking for

Description

The docs communicate support for zstd compression when building with the compression-level range matching that of standard zstd, however a custom mapping since support was introduced in 2022 reveals that is not the case (the docs do link to the Go library used for zstd with the 4 supported levels documented at the README, but the approximated zstd levels documented do not align with what BuildKit is using).

Full details: moby/buildkit#6291 (comment)

Location

https://docs.docker.com/build/exporters/#compression

Suggestion

A table like this may help (or a link to my comment on the related buildkit GH discussions):

compression-level klauspost/compress/zstd level Approx zstd compression level
0-2 Fastest 1
3-6 (default) Default 3
7-8 Better 7
9+ Best 11

NOTE: The mapping may no longer be accurate, the Go library's README hasn't updated that section since Dec 2020.

Additionally it would be very helpful to communicate zstd:chunked support. AFAIK this is not supported (pull or build) with Docker or BuildKit, only the fallback to zstd via backwards-compatibility.

Some resources online seem to imply that zstd:chunked is supported in a meaningful way beyond zstd pull support, but if the additional optimizations are not supported like with Podman, this should be clarified so that the information is easier to discover and confirm.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions