Windows Arm64 support
It's May 2025. Copilot+ PCs have been out for almost a year. They're proper developer machines. I have actually been using Windows Arm64 as my daily driver developer OS since the end of 2021, but let's pretend it happened only a year ago.
Container support is a glaring hole on Windows Arm64. Windows Server builds on Arm64 have existed for years, even though Microsoft pretends that it's not the case.
The time has come. Let's start with Nano Server at least.
Thank you for creating an Issue. Please note that GitHub is not an official channel for Microsoft support requests. To create an official support request, please open a ticket here. Microsoft and the GitHub Community strive to provide a best effort in answering questions and supporting Issues on GitHub.
Thanks, @Alovchin91 , for reaching out. We support both Nano Server (mcr.microsoft.com/windows/nanoserver:ltsc2025-arm64) and Server Core (mcr.microsoft.com/windows/servercore:ltsc2025-arm64) container images on ARM64 devices running Windows 11 24H2.
Hi @akarshm, thank you for the response! Are you sure you're not confusing arm64 and amd64 though? The arm64 ones are not listed on https://hub.docker.com/r/microsoft/windows-nanoserver.
Hi @Alovchin91 , you can find arm64 tags here https://mcr.microsoft.com/v2/windows/nanoserver/tags/list
@akarshm Indeed! That's great news, thank you!
@akarshm , great to see the images being available! Could you please guide me how I can use them? Docker Desktop for Windows-arm64 in the latest 4.50.0 version does not seem to support Windows containers, and its installation doesn't contain the dockerd.exe.
Docker Desktop does not support Windows ARM at the moment
Thank you for confirming @tfenster . Do you know any other options, e.g. containerd or some Windows component that one could use? Or will we just have to wait a bit longer for the images to become useful?
Oh my! This is working and just hidden in plain sight!
I compiled the docker.exe client and dockerd.exe daemon myself. As noted in the repository cross-arch compilation on Windows is not supported. So this must be done on a Windows-ARM64 machine:
git clone https://github.com/moby/moby.git
go install github.com/tc-hib/go-winres@latest
./hack/make.ps1 -Client -Daemon
Then, you can instantiate the above-mentioned images
docker run --rm -it mcr.microsoft.com/windows/servercore:ltsc2025-arm64 powershell
Is there a particular reason this is not noted anywhere? This is huge news!
That is something for Docker and Microsoft to comment on 😊
@maikschulze I believe you could simply take Docker CE binaries for x64 and run them emulated. They would use Windows Containers / Hyper-V anyway so it shouldn't matter if they're compiled to native ARM64 or not. But if they can be compiled to ARM64, that's of course even better 🙂
That is something for Docker and Microsoft to comment on 😊
Do you know any other options, e.g. containerd or some Windows component that one could use?
You should also be able to build nerdctl and containerd for Windows ARM64, check this out: https://github.com/snickler/containerd/tree/refs/heads/dev/snickler/win-arm64
Thank you, @Alovchin91 I will give containerd a try in a few days! It didn't even cross my mind that the emulation for docker binaries may just work.