Open dennisameling opened 4 years ago
Looks like it will be possible with the upcoming Windows 11 release (22H2).
@Alovchin91 could you please elaborate what's going to be possible? Golang already supports ARM64 for Windows, MS VS can cross-compile to ARM64 too. Windows Server 2019 is available for ARM64 as well
What is implied to be possible?
Build 22483 introduces support for Windows Sandbox on ARM64 which, from what I know, is built on Windows containers: https://blogs.windows.com/windows-insider/2021/10/20/announcing-windows-11-insider-preview-build-22483/
I would say this means 22H2 gets Windows containers on ARM64. This is probably the final missing piece for proper Docker support on Windows ARM64. That could also mean Windows ARM64 builders for GitHub Actions π
@tim-oleksii There's no official Windows Server ARM64 yet, is there? π€ Microsoft keeps very silent about this.
@Alovchin91 ARM64 available at least for windows insiders
program
https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewARM64
additionally, there are Microsoft surfaces devices available that are running Win 10 on ARM64 available.
there are updates for windows server 2019 arm64 as well https://uupdump.net/selectlang.php?id=f46f3787-738e-4f04-9bc9-d6a1d6e83de8
I know, I own Surface Pro X π Windows Client on ARM64 has been around since 2017 or 2018, don't remember exactly. Unfortunately, there was nothing about Windows Server on ARM64 except very early promises. If it exists, it's somewhere deep inside Microsoft and nobody outside the company has ever seen it π€·ββοΈ
Hey all, no updates here from Docker yet, but thanks for your continued engagement on this. We will be watching this space, as always thank you for your input π
+1 same story for me SPX ARM64
+1
+1
+1 for Docker Desktop on Windows 10 ARM64.
+1 for Docker Desktop on Windows 10 ARM64.
Hey @dennisameling - Has Win11's on Arm's ability to emulate x64 apps improved x64 Docker Desktop's ability to run on Arm64 devices like ProX?
Also, @justincormack, do you have a list of dependencies that currently block porting Docker Desktop to natively target Arm?
/cc @marcpems
@bitcrazed what about native ARM64 containers? containerd builds for Windows ARM64 without problem. but we're still lacking Windows ARM64 container images (those can only come from Microsoft):
@awakecoding Discussing this very subject. Stay tuned.
@bitcrazed I've been using Docker directly in WSL2 and that's working well, except that the Docker daemon doesn't start automatically when starting the WSL2 distro. I need to do a sudo service docker start
to start the daemon.
Just tried installing x64 Docker Desktop again on my SPX (Windows 11 22622.440, WSL 0.64.0.0 and kernel 5.10.102.1) but it fails to start with the error below. It looks like an error in WSL itself but the strange thing is that I can start Ubuntu 20.04 without these translation issues. Should I create a bug report in https://github.com/microsoft/wsl?
System.InvalidOperationException:
Failed to set version to docker-desktop: exit code: 1
stdout:
stderr: <3>WSL (9) ERROR: CreateProcessParseCommon:722: Failed to translate C:\WINDOWS\system32
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Users\denni\AppData\Local\mkcert
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files\Python311-arm64\Scripts\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files\Python311-arm64\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Users\denni\AppData\Roaming\npm
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files\Python39\Scripts\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files\Python39\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files\Git\cmd
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files\Git\bin
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files (Arm)\Microsoft\jdk-11.0.12.7-hotspot\bin
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files (x86)\Python39-32\Scripts\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files (x86)\Python39-32\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Python38\Scripts\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Python38\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\WINDOWS\system32
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\WINDOWS
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\WINDOWS\System32\Wbem
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\WINDOWS\System32\WindowsPowerShell\v1.0\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\WINDOWS\System32\OpenSSH\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\ProgramData\chocolatey\bin
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files\dotnet\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files\WireGuard\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files\PuTTY\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files (x86)\CMake\bin
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files\Go\bin
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files\Git LFS
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files\nodejs\
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Program Files\Docker\Docker\resources\bin
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\ProgramData\DockerDesktop\version-bin
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Users\denni\.cargo\bin
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Ruby27-x64\bin
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Windows\SysWOW64\WindowsPowerShell\v1.0
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Users\denni\AppData\Local\Microsoft\WindowsApps
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Users\denni\AppData\Local\Microsoft\WindowsApps
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\repos\coding-tools
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Users\denni\.dotnet\tools
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Users\denni\AppData\Local\GitHubDesktop\bin
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Users\denni\AppData\Local\Programs\Microsoft VS Code\bin
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Users\denni\go\bin
<3>WSL (9) ERROR: UtilTranslatePathList:2506: Failed to translate C:\Users\denni\AppData\Roaming\npm
<3>WSL (9) ERROR: CreateProcessEntryCommon:515: execvpe wsl-bootstrap failed 8
<3>WSL (9) ERROR: CreateProcessEntryCommon:524: Create process not expected to return
bij Docker.ApiServices.WSL2.WslShortLivedCommandResult.LogAndThrowIfUnexpectedExitCode(String prefix, ILogger log, Int32 expectedExitCode) in C:\workspaces\main-merges\src\github.com\docker\pinata\win\src\Docker.ApiServices\WSL2\WslCommand.cs:regel 160
bij Docker.Engines.WSL2.WSL2Provisioning.<ProvisionAsync>d__8.MoveNext() in C:\workspaces\main-merges\src\github.com\docker\pinata\win\src\Docker.Engines\WSL2\WSL2Provisioning.cs:regel 81
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
bij System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bij Docker.Engines.WSL2.LinuxWSL2Engine.<DoStartAsync>d__28.MoveNext() in C:\workspaces\main-merges\src\github.com\docker\pinata\win\src\Docker.Engines\WSL2\LinuxWSL2Engine.cs:regel 177
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
bij System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bij Docker.ApiServices.StateMachines.TaskExtensions.<WrapAsyncInCancellationException>d__0.MoveNext() in C:\workspaces\main-merges\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\TaskExtensions.cs:regel 29
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
bij System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bij Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__5.MoveNext() in C:\workspaces\main-merges\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:regel 67
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
bij System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bij Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__5.MoveNext() in C:\workspaces\main-merges\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:regel 92
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
bij System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bij Docker.ApiServices.StateMachines.EngineStateMachine.<StartAsync>d__14.MoveNext() in C:\workspaces\main-merges\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\EngineStateMachine.cs:regel 69
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
bij System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bij Docker.Engines.Engines.<StartAsync>d__22.MoveNext() in C:\workspaces\main-merges\src\github.com\docker\pinata\win\src\Docker.Engines\Engines.cs:regel 108
@bitcrazed I've been using Docker directly in WSL2 and that's working well, except that the Docker daemon doesn't start automatically when starting the WSL2 distro. I need to do a
sudo service docker start
to start the daemon.
@dennisameling you can configure the Docker daemon to start automatically inside of WSL2 with the boot
section of /etc/wsl.conf
: https://docs.microsoft.com/en-us/windows/wsl/wsl-config#boot-settings
Imma gonna page-in @craigloewen-msft who's PM for WSL and who can share any news/updates/etc. on this ask.
I would also love this to be a reality. Big thumbs up from me ππ
With Microsoft announcing Surface Pro 9 in both Intel and ARM flavors, having the Docker Desktop on Windows on ARM would be awesome. Is there any indication of progress on this?
I'm also interested !
+1
Thinkpad X13s and Windows Dev Kit (project Volterra) should also increase interest.
For the one using project volterra, you can follow this instruction: https://docs.docker.com/engine/install/ubuntu/ also this one if necesary: https://stackoverflow.com/questions/21871479/docker-cant-connect-to-docker-daemon
The only downside is there are no UI, but it will let you start things up.
+1 for Windows Dev Kit 2023(project Volterra)
One of the blockers we have is that weβre not sure how to build a CI infrastructure (mainly test workers). Is anyone aware of any cloud provider with an Arm Windows machines offering?
buying Ampere Altra should do the job as well as Microsoft Surface.
One of the blockers we have is that weβre not sure how to build a CI infrastructure (mainly test workers). Is anyone aware of any cloud provider with an Arm Windows machines offering?
Oracle cloud offers ARM Ampere A1 CPUs with Windows on Arm
I'd be happy to run a local worker on my Volterra box for a CI worker for dev/test until actual cloud providers have them. I bet you could find a handful of volunteers, especially if it gets this working sooner.
Docker is working great here via WSL for running containers, but I'm not having a great time trying to work with devcontainers without the docker tooling outside of WSL.
Indeed, Windows Arm Dev Kit is also available now: https://blogs.windows.com/windowsdeveloper/2022/10/24/available-today-windows-dev-kit-2023-aka-project-volterra/
And as mentioned by others, Azure now has Ampere Altra Arm VMs: https://azure.microsoft.com/blog/azure-virtual-machines-with-ampere-altra-arm-based-processors-generally-available/
Microsoft Azure offers windows 11 Arm 64 image via the marketplace - https://azuremarketplace.microsoft.com/en-us/marketplace/apps/microsoftwindowsdesktop.windows11preview-arm64?tab=Overview
Thanks for the ping, @Alovchin91.
Hey @docker-desktop-robot - Azure now has Ampere-powered Arm VMs ready for you to use for your cloud workloads: https://azure.microsoft.com/en-us/blog/azure-virtual-machines-with-ampere-altra-arm-based-processors-generally-available/
And in case you want to use GitHub's self-hosted Runner, GitHub are in the process of porting the Runner to support Windows on Arm as per PRs https://github.com/actions/runner/pull/2022 from @thboop and @nikolaxhristov.
Also looping in @dennisameling who's been active in this space for a while now, and @marcpems, one of my co-conspirators ;)
Another Windows Dev Kit 2023 user here, I'd like to see this too, currently I'm working with docker inside WSL2, but it makes it harder to work on projects that are outside linux, I prefer to do dotnet work on Windows because Visual Studio 2022 makes my work faster.
+1 here as well. Using a Pro X as well as a Dev Kit - and can not use Dev Containers in VS Code without it
Thanks folks, we're looking in to this one currently. Updates to follow shortly.
Hey @christophermclellan - great to hear! Thanks @dennisameling, @awakecoding, @Alovchin91 & everyone helping track and resolve this issue.
@christophermclellan - please do reach out to @craigloewen-msft if/when you bump into issues as we've already got a couple of discussions underway tracking this and related issues π
+1 for Docker Desktop on Windows on Arm64. Without this my Windows Dev Kit 2023 is useless to me :-(
You can't have docker without working NAT so i guess they have to fix that one first. NetNat component is somehow completely missing on arm64 windows builds :D
Interesting, I didn't know about this limitation. Do you have any link about this, or how to test the presence of this component?
Interesting, I didn't know about this limitation. Do you have any link about this, or how to test the presence of this component?
The easiest way: https://learn.microsoft.com/en-us/powershell/module/netnat/new-netnat Will throw Invalid Class exception as the required provider is not present at (C:\Windows\System32\wbem\NetNat.dll)
Thanks for the detail. I'll forward this.
Regarding WinNAT, I am also waiting for it to become available on Windows on ARM for regular Hyper-V VMs. I've asked on twitter and some other people have also noticed it's been missing and want to know when it will be added: https://twitter.com/bitcrazed/status/1615051676528037888?t=-afm3pmZI1Ms0czhbF-YLA&s=19
Hey folks. Quick update to let you know that we've an internal bug tracking this ask (42503582).
No ETA yet, but will let you know if/when a date firms-up.
π Really looking forward to full windows arm64 support. It is an amazing machine and the overall support seems to getting a lot better. Hopefully we'll have a full install-able development environment on our Surface pro X's soon.
fyi Azure Arm processor is also available as desktop with 32 to 128 cores and runs Windows.
@Flammenwerfer44 On the contrary, those "meaningless" internal ticket numbers track actual work to address the issue reported. And the work to fix the reported issues is not carried out by devs working on unrelated shell & UX features.
As posted above, @christophermclellan & team are looking into the work necessary at the Docker end, and we in Windows are working hard to remove any blockers to enable Docker for Windows Desktop to work correctly on Arm-powered devices. If it was an easy fix it would have been fixed by now.
Thanks, all, for your continued patience & support.
+1 for Windows Dev Kit 2023(project Volterra)
ιεΈΈιθ¦ Docker Desktop
Keen on seeing this come to fruition. Microsoft has made some headway on the current canary builds of Windows 11 on ARM, is this enough to allow Docker Desktop work to progress or is there still some missing capability? I know the Windows Hypervisor Platform feature is still missing (I really hope someone at Microsoft gets this feature added back in) but I'm not sure that it's required for Docker Desktop.
Hi there. Guys with Lenovo Thinkpad x13s are in the club. Dell anounced own ARM based machine, BTW. I use Ubuntu in WSL2 with docker, but would like to start to use Docker Desktop to use Windows images. Go ahead guys, we are waiting for support.
Hi all, Any news/updates on this one? Would really love to see docker desktop on the Arm64 devices. Thanks
Tell us about your request Devices that run Windows on ARM (arm64), like the Microsoft Surface Pro X, are capable of running WSL2 starting with the Windows 10 May 2020 (2004) update. Currently, Docker Desktop for Windows requires a x64 PC, so it's not possible to run Docker Desktop on these devices.
Which service(s) is this request for? Docker Desktop for Windows
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard? I'm trying to get Docker Desktop to work on my Windows on ARM (arm64) device with the WSL2 backend, but because it's x64-only, there seems to be no way for me to start using it.
Are you currently working around the issue? Windows on ARM supports emulation for 32-bit/x86 apps, but since Docker Desktop is a x64-only app, we can't benefit from emulation and seem to have absolutely no way to get Docker Desktop to run on these devices.
The only options at the moment are to remote SSH or RDP into a machine that has Docker installed and do development on there, or run Docker within WSL2 using the regular Linux installation instructions.
Additional context WSL2 general availability announcement: https://devblogs.microsoft.com/commandline/wsl2-will-be-generally-available-in-windows-10-version-2004/