Who is this for?
This is an introductory topic for software developers who want to learn about Docker for the Arm architecture.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Build, run, and share Docker images
- Perform multi-architecture builds using Docker buildx
- Use a remote server to build a Docker image for the Arm architecture
- Use Docker manifest for multi-architecture builds
Prerequisites
Before starting, you will need the following:
- A Windows, macOS, or Linux computer with Docker installed, any architecture can be used
- An Arm Linux server with Docker installed
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll build, run, and share Docker images that target Arm and x86. First, you’ll confirm Docker is installed, then use
docker buildx to create multi-architecture images. When emulation on a non-Arm machine is slow, you’ll switch to a remote Arm builder over SSH using docker context. You’ll also publish multi-architecture artifacts by assembling per-architecture images with the experimental docker manifest workflow. Finally, you’ll verify results by inspecting architecture metadata in container registries. You’ll understand when to choose docker buildx versus docker manifest and how to offload Arm builds to a remote server.Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
Run
docker run hello-world. If Docker is installed, the command completes and confirms that the engine can run containers.Run
docker buildx --help. You should see a usage message that begins with Usage: docker buildx [OPTIONS] COMMAND.Use
docker buildx to build multi-architecture images directly. Use docker manifest when you prefer to build and test separate images per architecture first and combine them later. Note that docker manifest is experimental and not recommended for production.Use a remote Arm server via
docker context and SSH. Ensure Docker is installed on the remote Arm machine and that SSH access does not require a password.Inspect the image in your container registry’s web interface. Registries such as Docker Hub and Amazon ECR Public list supported OS/ARCH values so you can verify arm64 is present.