


I suspect it’s a new thing which is why only recently created accounts seem to need to sign up. If you can’t see an “Experimental Features” option, you may have to sign up for the Docker developer program at this link. To do so, open up Docker Desktop then navigate to Preferences. The Docker buildx feature is currently “experimental” so we need to enable Docker Desktop’s experimental feature support. Step 1: enable experimental Docker Desktop features It was written with an Apple M1 equipped MacBook Air so results may vary across devices. This guide assumes you have an Apple Silicon equipped Mac running macOS Big Sur. How to build a multi-architecture Docker Image on Apple Silicon This allows you to build a Docker Image for a variety of different CPU architectures and it uses QEMU under the hood to do the emulation. It’s a CLI plugin that integrates the Moby BuildKit toolkit. This means this image can’t run on any other device like a raspberry pi (linux/arm/v7) or a typical server (linux/amd64) as the application binaries inside are not compatible.įortunately, Docker has supported cross CPU architecture builds for a while now through an experimental feature called buildx. When I build a Docker image on my Mac – it builds an ARM version (specifically arm64). I extensively use Docker in the projects I work on, so this led to a unique problem. My Apple Silicon MacBook Air is now my daily driver that I use for work as a software engineer and for personal projects. I jumped on the Apple Silicon band wagon as soon as I heard how awesome they were and I was not disappointed. Want a set of commands you can copy/paste? Jump to the TLDR at the bottom.
