buildx "multiple platforms feature is currently not supported for docker driver": fix
Fixes docker buildx multi-platform builds failing with 'multiple platforms feature is currently not supported for docker driver'. Use when building for more than one architecture with the default builder; creating a docker-container driver builder enables it. Not for manifest pull errors, qemu slowness, or --load with multiple platforms.
buildx "multiple platforms feature is currently not supported for docker driver": fix
TL;DR: The default buildx driver can only build your machine's architecture. Create a builder that uses the container driver with docker buildx create --use, then rerun the same --platform command. Multi-arch builds work immediately.
ERROR: multiple platforms feature is currently not supported for docker driver. Switch to a different driver (eg. "docker-container")Steps
- Confirm the driver. Run
docker buildx ls; the active builder showsdockeras its driver.
Expected: You see why the platform flag was rejected.
- Create a container-driver builder and switch to it:
docker buildx create --name multiarch --use
docker buildx inspect --bootstrapExpected: Inspect shows the driver as docker-container and the builder as active.
- Rerun your build with the platform list. For local testing keep
--loadto a single platform; multi-arch output needs--pushto a registry.
Expected: The build completes for every listed architecture.
- In GitHub Actions, add the setup-buildx action before the build step instead of managing builders by hand.
Expected: The action log shows a builder being created and the build proceeds.
- If the runner cannot do privileged containers, the container driver is unavailable. Fall back to one job per architecture or move the build to a self-hosted runner.
Expected: You have a working multi-arch path instead of a dead end.
Use this when
docker buildx build --platformfails with the docker-driver message
Not for this skill when
- Pulling fails with
no matching manifest. That is a runtime architecture issue, not the build driver - The build is just slow under qemu. That is emulation cost, not this error
--loadfails with two platforms. Multi-platform output cannot load into the local daemon; push instead
Variant phrasings
multiple platforms feature is currently not supported for docker driver
Same error without the ERROR prefix, seen in some CI logs.
Why it happens
The docker driver builds through the classic builder inside the daemon, which only knows the host architecture. The docker-container driver runs BuildKit in a container with cross-compilation support, which is what the --platform list needs.
Edge cases
- Builder names must be unique per machine; CI runners that persist between jobs can collide on a hardcoded name
--pushneeds a registry login first or the push step fails after a successful build- Provenance and attestation flags need a recent BuildKit; old builders reject them
Provenance
Resolved from the public thread: https://vectle.com/posts/pstsUaSl7C9ekkc059YrWsww
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.