Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker ARM for windows: Can't run linux/amd64 on linux/arm64/v8 #888

Open
lHersey opened this issue Jul 5, 2024 · 5 comments
Open

Docker ARM for windows: Can't run linux/amd64 on linux/arm64/v8 #888

lHersey opened this issue Jul 5, 2024 · 5 comments

Comments

@lHersey
Copy link

lHersey commented Jul 5, 2024

Recently, Docker released support for ARM devices on Windows, but I'm receiving errors with mssql

2024-07-04 20:01:46 SQL Server 2022 will run as non-root by default.
2024-07-04 20:01:46 This container is running as user mssql.
2024-07-04 20:01:46 To learn more visit https://go.microsoft.com/fwlink/?linkid=2099216.
2024-07-04 20:01:46 /opt/mssql/bin/sqlservr: Invalid mapping of address 0x2aaaad74d000 in reserved address space below 0x400000000000. Possible causes:
2024-07-04 20:01:46 1) the process (itself, or via a wrapper) starts-up its own running environment sets the stack size limit to unlimited via syscall setrlimit(2);
2024-07-04 20:01:46 2) the process (itself, or via a wrapper) adjusts its own execution domain and flag the system its legacy personality via syscall personality(2);
2024-07-04 20:01:46 3) sysadmin deliberately sets the system to run on legacy VA layout mode by adjusting a sysctl knob vm.legacy_va_layout.
2024-07-04 20:01:46

The error seems very similar when the M1 released, is there any workaround?

@lHersey
Copy link
Author

lHersey commented Jul 5, 2024

Related to #668, it was fixed there because of Rosseta emulation support via docker, seems to not be the case on Docker ARM for windows with Prism

@Piratepie
Copy link

Running into the same issue on this system:

OS Name:	Microsoft Windows 11 Pro
Version:	10.0.26100 Build 26100
System Type:	ARM64-based PC

Personally hoping #864 gains some traction, would love native support for arm64 instead of having to find some workaround like Rosetta

@lHersey
Copy link
Author

lHersey commented Jul 12, 2024

Personally hoping #864 gains some traction, would love native support for arm64 instead of having to find some workaround like Rosetta

TBH, I'll use any solution since right now, there is no way to use MSSQL on the new snapdragon devices, express installation, docker, etc... None works.

(Outside of azure-edge-sql but that is not a complete instance)

@danieltharris
Copy link

danieltharris commented Dec 4, 2024

(Outside of azure-edge-sql but that is not a complete instance)

That was going to be my suggestion for now, as I don't believe there's any MS SQL Server on Linux Docker images that support ARM64. I thought it used to say that explicitly in the documentation and saw that message is no longer there so had hope. EDIT: I was thinking of SQL Edge where ARM64 was mentioned.

For me, using azure-edge-sql is good enough for some local development when on the go until MS either supports ARM64 for SQL Server on Linux, or Docker adds prism support for Windows like they did with Rosetta on Mac.

The only other option I've had working on my Surface Pro 11 is localdb, but that only works over named pipes when running emulated on WoA, so SQL Edge in Docker seems the most reasonable choice if you can get by with the lack of features.

@guidoschippers
Copy link

The SQL edge option seems to be a bit unreliable as well going forward: https://techcommunity.microsoft.com/blog/sqlserver/azure-sql-edge-update---september-2023/3930827

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants