Skip to content
Latchkey

Docker buildx "Multiple platforms requires manifest list push" in CI

A multi-platform build produces a manifest list, which the local Docker image store on the default driver cannot hold. buildx therefore refuses --load for multiple platforms and requires --push to a registry that can store the manifest list.

What this error means

A multi-arch docker buildx build --platform linux/amd64,linux/arm64 --load fails with a message that multiple platforms require a manifest-list push or are not supported by the docker driver.

docker
ERROR: docker exporter does not currently support exporting manifest lists
# or:
ERROR: Multiple platforms feature is currently not supported for docker driver. Please switch to a different driver (eg. "docker buildx create --use")

Common causes

Loading a multi-platform image locally

The local image store cannot represent a manifest list, so --load rejects more than one platform.

Using the default docker driver

The default driver does not support multi-platform output; a container/registry driver is required.

How to fix it

Push the multi-arch image to a registry

  1. Create a container-driver builder.
  2. Build for multiple platforms and --push the manifest list.
Terminal
docker buildx create --name ci --driver docker-container --bootstrap --use
docker buildx build --platform linux/amd64,linux/arm64 \
  -t ghcr.io/myorg/api:1.4.2 --push .

Build a single platform when you must load locally

  1. If you need the image in the local store, build one platform and --load.
Terminal
docker buildx build --platform linux/amd64 -t myorg/api:dev --load .

How to prevent it

  • Push multi-arch builds; load only single-platform ones.
  • Use a docker-container or registry driver for multi-platform.
  • Keep CI multi-arch jobs on --push, not --load.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →