Multi-Architecture Docker Registries: Best Practices

Date and Time: 
Friday April 12th 2019
Location: 
CG South Auditorium
Speaker: 
Julio Suarez

In this tutorial, we’ll explore best practices for creating Docker registries that can serve multi-architecture images. The fundamental component required is Dockerfiles that are architecture agnostic. We’ll walk through examples of Dockerfiles which exhibit common mistakes that prevent them from being architecture agnostic. Once the Dockerfiles are corrected, they can be used to build container images for different architectures. For example, a Dockerfile can be used to build an image on an Arm machine for running on Arm machines; Next, the same Dockerfile can be used to build an image on an x86 machine for running on x86 machines. Last, we’ll discuss how we can group container images built for different architectures into a single Docker image name and tag within a Docker registry. This gives us a “single” image we can pull from a registry that is compatible with multiple architectures.High level outline of tutorial slides:-Show the problem of Docker images failing to run on two different architectures.-Explain why SW projects should care about making their Dockerfiles multi-architecture friendly.-Show examples of Dockerfiles that fail to build on more than one architecture.-Show the simple corrections to the above examples so that the same Dockerfile can be used to build multi-architecture images.-Show how to setup a Docker registry that can serve the “same” container image name and tag to machines that are of different architectures.

Speaker Description: 

Julio Suarez is an engineer in the Infrastructure Line of Business at Arm. His top priority is to work with partners to enable and improve the Arm ecosystem. This includes writing blogs, giving presentations, developing proof of concepts, and developing and running server & networking performance workloads. You will often find Julio at trade shows demoing proof of concepts of container and networking technologies running on Arm.

AttachmentSize
File MultiArchDocker.pptx7.99 MB

Event Category: