Docker in 2026: Engine 29, containerd 2.3 LTS, Podman 6 and the AI Push

Oct 20, 2026 · 12 min · Ajay Kumar

Every few months someone asks me whether Docker still matters now that Kubernetes runs on containerd and half the tooling has moved to agents. I run containers all day (PandaStack, my company, runs untrusted code in Firecracker microVMs, and most of what goes into them starts as an OCI image), so I keep a list of what actually changed. This post is that list for Docker and containers in 2026: the Docker Desktop licence and pricing, Docker's AI features (Model Runner, the MCP Toolkit, Sandboxes), Docker Engine 29 and the containerd image store, containerd 2.3 LTS, Podman 6, BuildKit, Docker Hub limits and OCI artifacts. Most of it is boring plumbing. That is the point: the plumbing is where your builds break.

What is the current Docker version in October 2026?

Short answer: Docker Engine 29.9.1 (14 October 2026) and Docker Desktop 4.96.0 (19 October 2026), which bundles that engine. Desktop now ships roughly weekly, mostly fixes. One default worth knowing came in 4.94: new Linux containers use the local logging driver instead of json-file, which keeps 100MB per container and compresses rotated files by default. docker logs still works; log shippers that read *-json.log files from disk will not see new containers.

Here is where the main components stand, checked against their release pages today.

Component Version (20 Oct 2026) What changed for developers Source
Docker Engine 29.9.1 containerd image store default on fresh installs since 29.0; minimum API v1.44 Engine 29 notes
Docker Desktop 4.96.0 Weekly releases; Gordon GA in 4.74; Model Runner off by default since 4.71 Desktop notes
Docker Compose 5.6.0 v5 removed the internal builder (builds go through Bake) and added a Go SDK Compose v5.0.0
BuildKit / Dockerfile 0.34.0 / 1.28.0 BoltDB compaction opt-in, platform in provenance attestations BuildKit v0.34.0
containerd 2.4.2, 2.3.7 LTS 2.3 is the first annual LTS; 1.7 reached end of life on 30 Sep 2026 RELEASES.md
Podman 6.1.4, 5.8.9 6.0 removed CNI, slirp4netns, iptables, cgroup v1 and BoltDB Podman v6.0.0
OCI image / distribution spec 1.1.1 / 1.1.1 1.1 added artifactType, subject and the referrers API image-spec releases

The engine change that bit people most was quiet. Docker Engine 29.0 (10 November 2025) made the containerd image store the default for fresh installs, raised the minimum API version to v1.44 (Docker 25), deprecated cgroup v1 (supported until at least May 2029), and removed Docker Content Trust from the CLI. Docker Desktop had already flipped the image store default for new installs in 4.34 back in August 2024. The practical effects: multi-platform images and attestations survive a local docker build and docker push without a separate builder, image sizes are reported differently (the store keeps both compressed content and unpacked snapshots), and old clients or CI scripts pinned to ancient API versions fail with a version error. If your CI image ships a 2019 Docker CLI, this is the year it stops working.

Is Docker Desktop still free in 2026?

For most individuals, yes. The licence terms are unchanged since the 2021 switch: Docker Desktop is free for personal use, education, non-commercial open source, and businesses with fewer than 250 employees and less than $10 million in annual revenue. Both conditions must hold. Above that, or for any government entity, every user needs a paid seat.

The pricing page lists Pro at $9 per user per month billed annually ($11 monthly), Team at $15 ($16 monthly) and Business at $24. Business is the tier with SSO, SCIM, Image and Registry Access Management and Enhanced Container Isolation, which are the features security teams actually ask for. Note that Docker Engine on Linux, the CLI, Compose and BuildKit are open source and free regardless of company size; the licence applies to the Desktop app (the VM, GUI and integrations on macOS and Windows).

If the licence is your reason to leave, the realistic alternatives on a Mac are Podman Desktop, Colima, Rancher Desktop and OrbStack, each with different trade-offs around file sharing speed and Kubernetes. I would not migrate a whole team just to save $15 a seat unless someone owns the support burden afterwards, because "my bind mounts are slow" tickets are not free either.

Docker Hub rate limits in 2026: what counts as a pull?

This is where I see the most confusion, partly because Docker's own pages disagree. The Docker Hub usage docs currently say:

  • Unauthenticated: 100 pulls per 6 hours per IPv4 address or IPv6 /64 subnet.
  • Personal (signed in, free): 200 pulls per 6 hours.
  • Pro, Team and Business: unlimited, subject to fair use.

The pricing page, meanwhile, still advertises "100 Docker Hub pulls/hr" for Personal. I trust the docs page, since it defines the counting rules, but the mismatch tells you to measure rather than assume. A multi-architecture image counts as one pull per architecture you fetch, a HEAD request on a manifest does not count, and an exceeded limit returns HTTP 429 on the manifest request. Shared NAT is the usual culprit: fifty CI runners behind one egress IP share one anonymous allowance.

The fix has not changed in years. Authenticate every CI pull, and put a pull-through cache (Harbor, a cloud registry's remote repository, or registry:3 in proxy mode) in front of Docker Hub for anything that runs at scale.

# GitHub Actions: authenticate before any docker pull or build.
# Pinned to a full commit SHA, per GitHub's hardening guide.
- name: Log in to Docker Hub
  uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
  with:
    username: ${{ vars.DOCKERHUB_USERNAME }}
    password: ${{ secrets.DOCKERHUB_TOKEN }}   # a read-only access token, not a password

Base images had their own churn. Bitnami moved its versioned images to an unmaintained bitnamilegacy namespace in late 2025, which broke plenty of Helm charts. In the other direction, Docker made its Hardened Images free on 17 December 2025: more than 1,000 Debian and Alpine based images under Apache 2.0, each with an SBOM, public CVE data and SLSA Build Level 3 provenance. The SLA (critical CVEs fixed in under seven days), FIPS images and customisation stay in the paid Enterprise tier. For most teams that makes "which minimal base image?" a free choice between Docker's catalogue, Google's distroless and Chainguard's free tier. The sibling guide, How to Reduce Docker Image Size, measures what each of those does to real images.

What are Docker's AI features: Model Runner, MCP Toolkit, Gordon and Sandboxes

Docker spent 2025 and 2026 repositioning around AI, and the release notes give a clean timeline.

Containers, March 2025 to September 2026 (evenly spaced, not to scale) Docker AI runtime, images Mar 2025 Model Runner beta (4.40) Jun 2025 MCP Toolkit built into Desktop 4.42 Aug 2025 Model Runner GA (4.45) Nov 2025 Engine 29: containerd image store default Dec 2025 Hardened Images free, Apache 2.0 Apr 2026 containerd 2.3, first LTS release May 2026 Gordon assistant GA (4.74) Jun 2026 Podman 6.0 drops CNI, cgroup v1 Sep 2026 containerd 1.7 end of life Desktop 4.71 (Apr 2026) turned Model Runner off by default. Docker Sandboxes, microVMs for coding agents, arrived in Desktop 4.58 (Jan 2026) and as the standalone sbx CLI in April 2026.
Dates from the Docker Desktop and Engine release notes, the Docker Hardened Images press release, containerd's RELEASES.md and the Podman v6.0.0 release.

Docker Model Runner pulls models from Docker Hub, any OCI registry or Hugging Face and serves them through OpenAI and Ollama compatible APIs. Per the docs, llama.cpp is the default engine (GGUF, all platforms), vLLM handles Safetensors on NVIDIA GPUs (Linux x86_64 or Windows WSL2), and Diffusers covers image generation. It went from beta in Desktop 4.40 to GA in 4.45, and then in 4.71 Docker made it opt-in, which I read as an admission that not every Desktop user wanted an inference server they had not asked for. The interesting part for infrastructure people is that models are packaged as OCI artifacts, so your existing registry, mirroring and access control apply to model weights too. If you are choosing a local runner, the comparison with Ollama and llama.cpp is in Local LLMs in 2026.

The MCP Catalog and Toolkit package MCP servers as container images. The docs claim 300+ verified servers, grouped into "profiles" that you connect to Claude, Cursor or other clients once. The Toolkit landed in Desktop 4.42. The MCP Gateway, which does the routing and auth, is open source on GitHub (still tagged pre-release at v0.44.1), while the managed governance version is invite-only. Running each MCP server in its own container is a sensible default; it does not fix the problems I covered in MCP Security in 2026, because a containerised server with your GitHub token can still do whatever that token allows.

Docker Sandboxes run coding agents in a dedicated microVM with its own kernel and private Docker daemon. Docker's architecture post (16 April 2026) says they wrote a new VMM rather than adapt Firecracker, because Firecracker has no native macOS or Windows support; it runs on Hypervisor.framework, Windows Hypervisor Platform and KVM, and ships as the sbx CLI, usable without a Desktop licence. I build on Firecracker, so I have a bias, but the reasoning is correct: Firecracker is a Linux/KVM server component, and a laptop product needs a different VMM. The isolation trade-offs are the same ones in Container vs microVM vs gVisor.

containerd 2.x: why the runtime under Kubernetes matters to you

Most Kubernetes nodes do not run Docker at all; they run containerd. Its release model changed in 2026. containerd 2.3 (30 April 2026) moved to a cadence aligned with Kubernetes, a minor release about every four months, and became the first annual LTS with at least two years of support (to April 2028). 2.4 followed on 16 September as a short-lived regular release, the point where deprecated features get removed. According to the project's RELEASES.md, 1.7 reached end of life on 30 September 2026 and 2.2 ends on 6 November 2026.

If you run self-managed nodes on 1.7, you are now unpatched. containerd 2.0 introduced daemon config version = 3 and migrates older configs automatically on startup, so the upgrade is gentler than the major version suggests, but deprecated settings such as the CRI registry.mirrors and configs blocks are scheduled for removal in 2.7, so move registry config to hosts.toml via config_path while you are there. Managed Kubernetes providers mostly did this for you during 2025; check anyway with kubectl get nodes -o wide, which prints the runtime version per node.

Podman 6 vs Docker: what changed?

Podman 6.0.0 shipped on 24 June 2026, 27 months after 5.0, and it was a clean-out release: CNI networking, slirp4netns, iptables, cgroup v1 and BoltDB support are all gone, replaced by Netavark, Pasta, nftables, cgroup v2 and SQLite. It also dropped Intel Macs and Windows 10, made network isolation the default for Docker compatibility, and changed podman volume prune to match Docker by pruning only anonymous volumes. The project moved to a CNCF-owned GitHub organisation, so the Go import path is now go.podman.io/podman/v6. The 5.8 line is still patched (5.8.9 on 12 October) for people on older distros.

Podman versus Docker in 2026 comes down to the same split as before. Podman is daemonless, rootless by default and integrates with systemd through Quadlet, which makes it the better fit for running long-lived containers on a single Linux host. Docker has the larger ecosystem, Compose, Desktop and BuildKit's caching. Both build and run the same OCI images, so the choice rarely locks you in.

BuildKit and OCI artifacts: the parts you use without noticing

BuildKit is the build engine behind docker build, and it keeps moving. v0.34.0 (7 October 2026) shipped Dockerfile frontend 1.28, opt-in BoltDB compaction for builder state, and target platform information in provenance attestations. Docker Compose v5 now delegates all builds to Bake (the same path as docker build), so Compose and CLI builds finally behave identically.

OCI artifacts are the other quiet shift. The image-spec 1.1 and distribution-spec 1.1 releases (February 2024, with 1.1.1 patches in 2025) added artifactType, a subject field and a referrers API, which is how signatures, SBOMs and attestations attach to an image without inventing fake tags. Registries now store Helm charts, Wasm modules, model weights and policy bundles the same way. If you have been following the supply-chain work in the CRA post, this is the plumbing it relies on.

FAQ

Is Docker still relevant in 2026?

Yes, as a developer tool and image format. Docker Engine 29.9 and Desktop 4.96 shipped in October 2026, and the OCI image format Docker created is how almost every workload, from Kubernetes pods to AI model weights, gets packaged. What changed is that production clusters usually run containerd directly rather than the Docker daemon.

Do I need a paid Docker subscription?

Only if your organisation has 250 or more employees or $10 million or more in annual revenue, or is a government entity, and you use Docker Desktop. Docker Engine, the CLI, Compose and BuildKit on Linux are open source and free for everyone.

What is the Docker Hub pull limit for anonymous users?

Docker's usage docs say 100 pulls per 6 hours per IPv4 address or IPv6 /64 subnet for unauthenticated users, and 200 per 6 hours for signed-in free accounts. Each architecture of a multi-arch image counts as a separate pull, and exceeding the limit returns HTTP 429.

Should I switch from Docker to Podman?

Switch if you want rootless, daemonless containers managed by systemd on Linux servers, or if the Desktop licence cost matters. Stay if your team depends on Compose workflows, Docker Desktop integrations or BuildKit caching. Since both use OCI images, you can also run both.

This quarter I would do four things: upgrade any self-managed node still on containerd 1.7, authenticate every CI pull against Docker Hub and put a pull-through cache in front of it, move base images to a free hardened or distroless set and check the size and CVE count before and after, and audit CI images for Docker CLIs older than API v1.44. None of it is exciting. All of it is the kind of work that decides whether an agent's pull request builds at all.

Related: Container vs microVM vs gVisor: Choosing Agent Isolation, CRA Reporting Went Live on 11 September: 24 Hours to ENISA, 3.08 Billion Rekor Entries, 17% of PyPI Attested, 92% SBOM False Positives and Kubernetes as the Agent Control Plane in 2026: Agent Sandbox Hit v1.0, 300 Claims a Second, and DRA in Every Supported Release.

I'm Ajay Kumar — I build and operate PandaStack, an open-source Firecracker microVM cloud for AI agents, and write about the infrastructure and tooling around it.

Need this kind of infrastructure work? See what I do or email hello@ajayk.sh.


Related