Member-only story

Creating multi-Arch Docker Images — supercharged with Build Systems (Part 2)

Sahu
5 min readSep 28, 2024

--

Photo by Rubaitul Azad on Unsplash

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 buildxsubcommand, 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.

Why use a Build System?

--

--

Sahu
Sahu

Written by Sahu

All opinions shared are personal and not influenced by my Employer • Senior Software Engineer @ McKinsey & Company

No responses yet