Member-only story
Creating multi-Arch Docker Images — supercharged with Build Systems (Part 2)
Note: You can find the reusable please rules on my Github mrsauravsahu/please-reuse. And the sample repo to help use it is available here at mrsauravsahu/please-playground
Understanding the need for multi-Arch docker images
We are at a phase where there are two main families of processor architectures — x86 and ARM. While both of these focus on different outcomes, we, as Software Engineers have to ensure the applications we write can be run on the largest family of devices.
Docker has famously solved issues like the infamous “It works on my machine” problem. Once dockerized, it’s quite certain that your application will run on any machine — the caveat for now, is, as long as that machine matches the architecture that you originally built the Docker Image for.
To help fix this, Docker has also introduced the buildx
subcommand, which has things a lot easier.
In this article, we’ll discuss how to create multi-arch images and how we can create a standardized Build System rules with Please.Build to allow extending Multi-Arch Docker Image creation for multiple programming languages.