Multi-Arch Container Images for Azure IoT Edge

Vitaliy Slepakov
1 min readJun 15, 2020

--

Recently a customer needed to build container images for his ARM based IoT Edge Devices using Azure DevOps. While there are multiple approaches ranging from using custom ARM based build agents in Azure DevOps to using cross-compilation tool chains etc. I found using qemu in conjunction with docker manifest to be another interesting and flexible approach.

In my GitHub repo you can find an example YAML-Pipeline for Azure DevOps which sets up qemu, builds and pushes images for different architectures (based on debian:buster-slim), creates a manifest and pushes it to DockerHub. The result is ONE tag which supports multiple architectures:

Multi-arch image

And this is what a completed Pipeline run looks like in Azure DevOps:

Of course the approach can be implemented using other CI/CD tools like e.g. Jenkins or GitHub Actions.

This sample was inspired by this repo. There are a few differences though.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response