Safeguard
Developer Tools•

What do tags like bookworm-slim and bookworm-20261005 mean?

Reading Docker tags: codename, version, slim and date suffixes explained, and which one to put in a FROM line if you want fresh but predictable builds.

Safeguard Security Team
3 min read

A tag such as bookworm-slim names a Debian release (bookworm) and a variant (slim). A tag such as bookworm-20261005 adds a build date. Floating tags move as the publisher rebuilds; dated tags are intended to name one snapshot. Your choice sets how fresh and how repeatable your builds are.

The parts of a tag

On the official Debian image page, one image can carry several tags at once. The fetched listing shows these for a single bookworm build:

  • bookworm
  • bookworm-20261005
  • 12.15
  • 12

And for the slim variant:

  • bookworm-slim
  • bookworm-20261005-slim
  • 12.15-slim
  • 12-slim

Reading them: a codename names the release, a number names the release or point release, a date names a build snapshot, and -slim names a smaller variant. The page also lists rolling names like stable, oldstable and testing, which change meaning over time.

Which kind of tag moves

Tag styleExampleMoves when
Rolling namestable, oldstableA new Debian release becomes stable
CodenamebookwormThe publisher rebuilds this release
Major number12Rebuilds, within that major release
Point release12.15Rebuilds until the next point release
Datedbookworm-20261005Intended to name one snapshot
Digestsha256 valueNever

Rolling names are the risky ones for a production FROM line. A move from one stable release to the next can arrive on a rebuild you did not plan.

What slim changes

Slim is a smaller variant of the same release. Fewer packages in the base means fewer things to patch and fewer files an attacker can use, but it can also mean a missing tool that your build or debug routine assumed. Test before you switch.

Which tag should go in a FROM line

Docker's best practices guide explains the tradeoff. Mutable tags give you new versions on rebuild, which is useful, but you are not guaranteed the same image on every build and you lack an audit trail of what you used. Pinning to a digest fixes both.

A workable pattern: use a codename tag with a digest, and let an automated update change the digest on a schedule. That way every build is repeatable, and a base update arrives as a reviewable change.

  1. Choose a codename and variant, such as bookworm-slim.
  2. Resolve it to a digest at build time and pin it.
  3. Record the tag and digest in your build metadata.
  4. Refresh the digest on a fixed cadence and when advisories land.

Where Safeguard fits

Safeguard's SBOM for each image records which operating system release and packages ended up inside, whatever tag was used. The free scan at https://gold.safeguard.sh/scan is an easy way to see it for one image.

Quick check

Is a dated tag the same as a digest?

No. A dated tag is a name the publisher chose, and a publisher could in principle move it. A digest identifies exact content. Use the digest if you need certainty.

Does slim mean safer?

It usually means fewer packages, which reduces what can be vulnerable. It does not replace patching or scanning.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.