We start by cloning the docker-wait-for-dependencies repository: git clone :dadarek/docker-wait-for-dependencies.git In this section I describe the steps I took, based on the documentation about the buildx command. Luckily, this is very easy to do with Docker's new buildx command, Creating multi-arch docker images with buildx Docker Desktop uses the qemu-static emulator to make this cross-architecture emulation completely seamless!Īs the repository and Dockerfile for dadarek/docker-wait-for-dependencies are open source, I decided to rebuild the dockerfile as a multi-arch file that supports ARM64. However, you can run Linux architectures like ARM64 on Windows using Docker Desktop.
In general, you can't run docker images that target a different processor architecture than your hose system. The problem was that the dadarek/docker-wait-for-dependencies docker image doesn't support ARM64, so we were getting failures in CI when trying to run the image on Linux While working on the CI for the Datadog Tracer, I wanted to use dadarek/docker-wait-for-dependencies to ensure docker-compose has started all the dependency containers before we run our integration tests. On a Linux system, this would pull the 圆4, arm64, or arm32 image, depending on your host architecture! This could be version 1809, 2004, or 20H2, depending on your host OS version. Then on Windows, if you're using Windows containers, it will pull the appropriate Windows Nano Server container. NET SDK docker image in your Dockerfile: FROM /dotnet/sdk :5.0 With multi-arch images you specify a single image, and Docker will pull the appropriate architecture for your processor and platform.įor example, if you specify the. Typically different OS/processor architectures require different Docker images. Docker multi-arch imagesĭocker has the concept of multi-architecture images, which means that a single Docker image can support multiple architectures.
#Docker for windows vs docker how to
Specifically, I show how to create Docker images that run on ARM 64 processors (such as AWS's Graviton2 processors) from a Windows PC using Docker Desktop. In this post I describe how to create multi-architecture docker images.