Search code examples
dockermultiplatformapple-silicon

Forcing docker to use linux/amd64 platform by default on macOS


Current beta version of docker requires you to specify a --platform=linux/amd64 each time you need to build or run an amd64 image/container.

The documentation mentions

When running an image with multi-architecture support, docker will automatically select an image variant which matches your OS and architecture.

The documentation does not specify a way to alter this automatic behaviour using env variables. It seems to ignore both BUILDPLATFORM and TARGETPLATFORM.

Is there any other way to force docker to run all build and run commands with a platform linux/amd64 instead of linux/arm64/v8 by default on macOS running on apple-silicon?


Solution

  • You can set the environment variable DOCKER_DEFAULT_PLATFORM:

    export DOCKER_DEFAULT_PLATFORM=linux/amd64