microsoft / mssql-docker

Official Microsoft repository for SQL Server in Docker resources
MIT License
1.74k stars 759 forks source link

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

Open lHersey opened 4 months ago

lHersey commented 4 months ago

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 commented 4 months ago

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 commented 4 months ago

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 commented 4 months ago

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)