Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Docker for Windows mssql-server-linux:latest fails to run due to memory limit #293
I may be doing this wrong...
Docker: 18.04.0-ce-win62 (17151)
I'm just trying to run the following:
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=supersecret" -p 1417:1433 --name sql17 --platform linux -d microsoft/mssql-server-linux:latest
I can see the container in VS Code created and started, but then immediately stops. I check the logs:
docker logs sql17 --tail 50 -f sqlservr: This program requires a machine with at least 2000 megabytes of memory.
So I saw mention in another issue about
Am I doing something wrong?
The 2GB minimum does not seem sensible to me.
Does really empty sqlsrv needs that much memory just to start? I understand there may be some (potentially big) performance degradation for bigger tables and bigger indices, but it does not seem sensible to beef up the machine just to create a table with 20 rows for Travis build. Production (!) and fast enough MySQL/MariaDB for small web can run on 512M DigitalOcean droplet along with httpd and standard Debian.
@tomasfejfar There's a bit more to it than just simply running SQL Server. Keep in mind that SQL Server on Linux runs inside of a platform abstraction layer (PAL). More detailed reading. The additional memory required to run the PAL itself is a big part of the overall memory demands of running SQL Server in as small of a footprint as possible. On a production system with 1 TB of RAM available the extra 512MB-1 GB to run the PAL is negligible, but when you are trying to run some CI tests on as small of a footprint as possible, it's completely understandable to want to minimize the memory consumption. We're working on reducing the memory footprint, but it will take some time. Hope that provides a bit more context.