PAGES
← all tools
◆ Container & Image Security

Docker CLI

changelog-20261012-2f4f9c31 open-source

Summary

Docker CLI is an open-source command-line client for building, running, and managing containers, used interactively on a laptop or invoked from scripts and CI pipelines against a local or remote Docker daemon. It is free to use. It's the tool container-focused developers and platform engineers reach for day to day rather than a security team's dedicated scanner, and its container-security relevance comes from controls like signed builder image verification through BUILDX_DEFAULT_POLICY, which checks signed tags on managed images and BuildKitBuildKitA build engine for Docker images, maintained by Moby, that replaces the legacy Docker builder with parallel layer execution, cache mounts, and secret handling — giving cyber tools faster, more reproducible container builds. frontends before a build proceeds, with an explicit bypass for untrusted images when needed. Configuration is driven largely through environment variables covering TLS, contexts, and daemon sockets. With six releases in the tracked window and the last one 34 days ago, the project is under active maintenance.

How Docker CLI helps

What is actually running on this host right now?

lists every container with its image, command, and status by querying the daemon directly, so the answer reflects live state rather than what a compose file claims

Is the builder image this build pulled actually the one Docker signed?

with the default source policy enabled, verifies signed tags on managed builder images and Dockerfile frontends before the build proceeds, and fails closed unless untrusted images are explicitly allowed

Can this build reach an untagged or third-party image without tripping the policy?

the policy only checks signed tags on repositories Docker manages, so untagged digest references and outside images pass through unchanged, which the log of a build shows as unverified rather than blocked

Where is this connection's TLS material actually coming from?

reads the certificate path and verification variables at invocation time, so a container hitting the wrong daemon or failing a handshake can be traced to which of those variables is set

all 17 features, with the evidence for each →

Languages

Not documented

Features

17 capabilities

Built from Docker CLI's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What Docker CLI offers you

  • Command-line interface3
All capabilities 17 capabilities
Container umask configuration shipped Allows setting the umask for a container's main process, execs, and healthchecks via a flag on `docker create` and `docker run` and a corresponding `HostConfig.Umask` daemon option. 9 releases · 5 other sources · first seen Jan 2026

Also counts toward: Command-line interface

release 9 total

  • Adds --umask <octal> flag to docker create and docker run commands and the corresponding HostConfig.Umask option to set the umask for a container's main process, execs, and healthchecks 29.8.2 · Sep 2026 · source · release history
  • Adds HostConfig.Umask field to the API and --umask <octal> flag to docker create / docker run to set the umask for a container's main process, execs, and healthchecks. 29.8.0 · Sep 2026 · source · release history
  • Add the default-stop-timeout daemon option to configure the stop timeout assigned to containers without an explicit timeout 29.7.0 · Jul 2026 · source · release history
  • New POST /containers/{id}/update API support for per-device blkio resource settings 29.6.0 · Jun 2026 · source · release history
  • Add time-namespaces feature flag to disable time-namespaces. 29.5.0 · May 2026 · source · release history
  • docker ps --format now supports a .HealthStatus placeholder to print container health state (starting, healthy, unhealthy) as a dedicated field. 29.5.0 · May 2026 · source · release history

example

  • Set the umask for a new container's processes to 0o002 (common for group-writable directories). docker run --umask 002 <image> 29.8.2 · Sep 2026 · source
  • Run a container with a restrictive umask (e.g., 077) so created files are private by default. docker run --umask 077 alpine ls -l 29.8.0 · Sep 2026 · source
  • Set a global default stop timeout of 60 seconds for containers that don't specify one. daemon.json: { "default-stop-timeout": "60s" } 29.7.0 · Jul 2026 · source
  • Update container resource limits with specific blkio settings via API curl -X POST http://localhost:2375/containers/mycontainer/update -H 'Content-Type: application/json' -d '{"BlkioWeightDevice": [{"Path": "/dev/sda", "Weight": 500}]}' 29.6.0 · Jun 2026 · source
  • Ensure source directory is created automatically when using bind mounts via CLI or compose files. docker run --mount type=bind,bind-create-src=true,source=/host/path,target=/container/path alpine ls /container/path 29.3.0 · Mar 2026 · source
Bake file path resolution shipped Controls whether local directory build contexts in Bake files are resolved relative to the current working directory or relative to the Bake file that defines each path. 5 releases · 2 other sources · first seen Jan 2026

release

  • Add an experimental embedded-containerd feature that runs containerd inside the daemon process instead of as a separate managed process 29.7.0 · Jul 2026 · source · release history
  • Windows daemon now supports listening on a Unix socket (-H unix://...) with optional group-based access control via --group. 29.5.0 · May 2026 · source · release history
  • Lower minimum API version from v1.44 to v1.40 (Docker 19.03). 29.3.0 · Mar 2026 · source · release history
  • CLI plugin hooks now fire on command failure with error-hooks config key. 29.3.0 · Mar 2026 · source · release history
  • On Windows, %PROGRAMDATA%\Docker\cli-plugins is removed from the list of paths used for CLI plugins (replaced by %ProgramFiles%\Docker\cli-plugins). 29.2.0 · Jan 2026 · source · release history

docs

  • By default, local directory build contexts in Bake files are resolved from the current working directory. To opt in to resolving local directory build contexts from the Bake file that defines each path, set BUILDX_BAKE_FILE_RELATIVE_PATHS=1 . docs update · seen Jul 2026 · source

example

  • Run containerd as an embedded process for simpler deployment or debugging. dockerd --features=embedded-containerd 29.7.0 · Jul 2026 · source
AWS CloudWatch Logs driver enrichment shipped Allows attaching service names, environments, and custom CloudWatch entity attributes to container logs via `awslogs` logging driver configuration options. 5 releases · 1 other source · first seen Nov 2025

release

  • Adds support for attaching service names, environments, and custom CloudWatch entity attributes to logs from the awslogs logging driver via configuration options (e.g. awslogs-group, awslogs-creation-rule) 29.8.2 · Sep 2026 · source · release history
  • Local logging driver now supports custom attributes via label, label-regex, env, env-regex, and tag log options. 29.5.0 · May 2026 · source · release history
  • docker info now includes an nri section with experimental NRI support. 29.2.0 · Jan 2026 · source · release history
  • Adds firewall-backend daemon configuration key to enable experimental nftables network filtering 29.0.0 · Nov 2025 · source · release history
  • Adds --bridge-accept-fwmark daemon option to allow bridge networks to accept packets with specific firewall marks 29.0.0 · Nov 2025 · source · release history

example

  • Configure the daemon to use nftables for firewall backend via configuration file. firewall-backend = "nftables" 29.0.0 · Nov 2025 · source
Build replay from provenance shipped Experimentally allows replaying or rebuilding an image from its recorded provenance and pinned materials using the `docker buildx replay` command group. 2 releases · 3 other sources · first seen Jan 2026

Also counts toward: Command-line interface

release

  • GET /images/json now supports identity query parameter for trusted identity and origin information. 29.3.0 · Mar 2026 · source · release history
  • Inspection output now includes the identity field showing trusted origin information, build ref, remote registry repository, and verified signature info for signed provenance attestation. 29.2.0 · Jan 2026 · source · release history

docs

  • Reference Get started Guides Manuals docker buildx replay build Description Rebuild an image from provenance and pinned materials Usage docker buildx replay build [OPTIONS] SUBJECT Experimental This command is experimental. docs update · Oct 2026 · source
  • Reference Get started Guides Manuals docker buildx replay Description Replay a build from its provenance Usage docker buildx replay Experimental This command is experimental. docs update · Oct 2026 · source

example

  • Query image manifests including trusted identity metadata using the Docker Engine API. curl -s http://localhost:2375/v1.40/images/json?identity=true | jq '.[0].Identity' 29.3.0 · Mar 2026 · source
Rootless mode port driver support shipped Adds support for the pesto port driver in rootless mode, enabling NAT64/DNS64 network compatibility when using the pasta network driver. 4 releases · 1 other source · first seen May 2026

release

  • Updates RootlessKit to v3.1.0, adding support for the pesto port driver in rootless mode; use it by setting DOCKERD_ROOTLESS_ROOTLESSKIT_PORT_DRIVER=pesto (requires pasta network driver and supports IPv4 only) 29.8.2 · Sep 2026 · source · release history
  • slirp4netns is no longer installed via Docker packaging; users should prefer gvisor-tap-vsock. 29.5.0 · May 2026 · source · release history
  • gvisor-tap-vsock is now the default rootless network driver. 29.5.0 · May 2026 · source · release history
  • Add new default gvisor-tap-vsock network driver for Rootless mode. 29.5.0 · May 2026 · source · release history

example

  • Enable the pesto port driver for rootless mode to support NAT64/DNS64 networks. DOCKERD_ROOTLESS_ROOTLESSKIT_PORT_DRIVER=pesto dockerd-rootless.sh 29.8.2 · Sep 2026 · source
Build source policy enforcement shipped Verifies signed tags for Docker-managed images (such as BuildKit builder images and Dockerfile frontends) before use, with an opt-out for untrusted images. 4 other sources · first seen Sep 2026

docs

  • cloud cloud cloud Uses Docker Build Cloud builders. For Docker Build Cloud access and setup, see Docker Build Cloud setup . docs update · Sep 2026 · source
  • With BUILDX_DEFAULT_POLICY=1 , the driver verifies signed moby/buildkit builder image tags before creating the builder. To explicitly bypass this verification, set allow-untrusted-image=true . docs update · seen Jul 2026 · source
  • Enable the default policy Set BUILDX_DEFAULT_POLICY=1 to enable Buildx's built-in source policy. The policy verifies signed tags for images managed by Docker, including BuildKit builder images and Dockerfile frontends. Untagged digest references and images outside the managed repositories are allowed unchanged. docs update · seen Jul 2026 · source

example

  • Filter containers by a specific annotation to identify managed instances. docker ps -f "annotation=managed-by=pulumi" 29.8.2 · Sep 2026 · source
NFTables network filtering backend shipped Enables the use of nftables as an experimental backend for container network filtering instead of iptables. 2 releases · 1 other source · first seen Nov 2025

release

  • Adds GET /images/{name}/attestations endpoint to retrieve SLSA provenance and SPDX SBOM statements with platform, predicate type, and statement query filtering 29.6.0 · Jun 2026 · source · release history
  • Adds firewall-backend daemon configuration key to enable experimental nftables network filtering 29.0.0 · Nov 2025 · source · release history

example

  • Retrieve all SPDX SBOM statements for an image on linux/amd64 platform curl -s http://localhost:2375/images/myimage/attestations?predicate_type=spdx & curl -s "http://localhost:2375/images/myimage/attestations?platform=linux/amd64&predicate_type=spdx" | jq . 29.6.0 · Jun 2026 · source
Rootless mode network driver support shipped Provides support for various network drivers in rootless mode, including gvisor-tap-vsock and pesto, and allows controlling their installation and usage. 3 releases · first seen May 2026

release

  • slirp4netns is no longer installed via Docker packaging; users should prefer gvisor-tap-vsock. 29.5.0 · May 2026 · source · release history
  • gvisor-tap-vsock is now the default rootless network driver. 29.5.0 · May 2026 · source · release history
  • Add new default gvisor-tap-vsock network driver for Rootless mode. 29.5.0 · May 2026 · source · release history
Default container AppArmor profile configuration shipped Allows configuring the default AppArmor profile template applied to containers via daemon configuration. 2 releases · first seen Sep 2026

release

  • Adds daemon support for configuring the default container AppArmor profile template via daemon configuration 29.8.2 · Sep 2026 · source · release history
  • Adds daemon support for configuring the default container AppArmor profile template via new configuration options. 29.8.0 · Sep 2026 · source · release history
Multi-platform image export/import support shipped Allows specifying target platforms when loading or saving Docker images, enabling selection of specific architectures in multi-platform manifests. 1 release · 1 other source · first seen Nov 2025

Also counts toward: Command-line interface

release

  • Adds --platform flag to docker image load and docker image save for multi-platform selection 29.0.0 · Nov 2025 · source · release history

example

  • Export images for multiple architectures into a single tarball using the new flag. docker image save --platform linux/amd64,linux/arm64 myimage:latest > multi-arch.tar 29.0.0 · Nov 2025 · source
Bridge network IPv6 neighbor discovery shipped Enables IPv6 Neighbour Discovery traffic between containers on a bridge network even when inter-container communication is disabled, aligning with IPv4 behavior. 1 release · first seen Oct 2026

release

  • Allows IPv6 Neighbour Discovery between containers on a bridge network with inter-container communication disabled, matching existing IPv4 behaviour. changelog · Oct 2026 · source · release history
Lazy image pull support shipped Allows skipping the download of image layers already present in the containerd snapshotter via a daemon feature flag, with defaults enabled for several snapshotter types. 1 release · first seen Oct 2026

release

  • Adds lazy-pull daemon feature flag to the containerd image store, controlling whether docker pull skips downloading layer content already provided by the snapshotter; enabled by default for nydus, overlaybd, soci, and stargz snapshotters.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ changelog · Oct 2026 · source · release history
Swarm service port IPv6 host accessibility shipped Makes published Swarm service ports accessible on host IPv6 addresses when the userland proxy is enabled. 1 release · first seen Oct 2026

release

  • Published Swarm-service ports are now accessible at the host's IPv6 addresses when the userland proxy is enabled, confirmed as a tested and supported feature as of v29.9.0. changelog · Oct 2026 · source · release history
Bake target execution control documented Controls target concurrency, output synchronization, and failure handling in Bake via the --jobs flag and its shorthand -j. 1 other source · first seen Oct 2026

docs

  • -j, --jobs fail-fast Set target execution behavior (format: N mode[,parallel=N] Configure target execution behavior (--jobs, -j) --jobs=N --jobs=[mode,]parallel=N --jobs=mode --jobs flag (shorthand -j ) controls target concurrency, output synchronization, and how Bake handles target failures. docs update · Oct 2026 · source
Container annotation filtering shipped Allows filtering containers in listings (`docker ps` and the containers API) by their annotations using the `annotation` filter key. 1 release · first seen Sep 2026

release

  • Adds annotation filter to container listings (docker ps, GET /containers/json) allowing you to filter containers by their annotations using the filter argument with the annotation key 29.8.2 · Sep 2026 · source · release history
Reserved network name enforcement shipped Prevents creation of networks named `container` or `container:`, treating those names as reserved and blocking their use. 1 release · first seen Sep 2026

release

  • Network names container and 'container:' are now reserved; creating networks with these exact names will fail or be blocked. 29.8.2 · Sep 2026 · source · release history
Docker Content Trust plugin separation shipped Decouples Docker Content Trust functionality from the core CLI binary, requiring users to install it as a separate plugin. 1 release · first seen Nov 2025

release

  • Docker Content Trust CLI commands are removed from the Docker CLI binary (built as separate plugin) 29.0.0 · Nov 2025 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Command line

25 commands for Docker CLI, each with where it came from. This tool has no source analysis yet, so there is no option reference and no captured run beside them.

Source

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for Docker CLI, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail Docker CLI puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

13 entries

  1. October 20261
  2. September 20263
  3. July 20264
  4. June 20261
  5. May 20261
  6. March 20261
  7. January 20261
  8. November 20251
    Show

    13 entries

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →