I am running Docker CE (key details of docker info below) and was all excited to see the new ability to run Linux and Windows Containers side-by-side.
However, when I try to run mssql-server-linux container, it exits almost instantaneously with exit code 1. Docker logs command indicates this -
sqlservr: This program requires a machine with at least 2000 megabytes of memory.
By default, my Docker is in Windows mode and I have tried switching to Linux containers mode and increasing the memory to 8 GB and the number of cores to four but that isn't helping. How to resolve this?
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 1
Server Version: 18.02.0-ce-rc1
Storage Driver: windowsfilter (windows) lcow (linux)
Windows:
LCOW:
Logging Driver: json-file
Plugins:
Volume: local
Network: ics l2bridge l2tunnel nat null overlay transparent
Log: awslogs etwlogs fluentd gelf json-file logentries splunk syslog
Swarm: inactive
Default Isolation: hyperv
Kernel Version: 10.0 16299 (16299.15.amd64fre.rs3_release.170928-1534)
Operating System: Windows 10 Enterprise
OSType: windows
Architecture: x86_64
CPUs: 8
Total Memory: 31.89GiB
This is a known issue.
See the comments at the end of this issue: #114
+1 same issue
@gischethans
@jeromechrist
I made a docker image that works around this memory (limitation) policy:
https://github.com/justin2004/mssql_server_tiny
This is a known issue.
See the comments at the end of this issue: #114
please someone helps me I Have to use ASPNET and microsoft IIS between mssql server. I do not have much more time .. Looked around for this issue about 3 days and could not find resolve than 谋 tried to use msqlserver developer for microsoft but 谋 understand that 谋 should turn back to linux version cause of microsoft versions volume problem. How 谋 can solve the least 2000 mb reqiuers error ..
@dnzhnshn
this will allow you to run mssql-docker on a host with less than 2000 MB of RAM:
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d justin2004/mssql_server_tiny
for more information:
https://github.com/justin2004/mssql_server_tiny
@dnzhnshn
this will allow you to run mssql-docker on a host with less than 2000 MB of RAM:docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d justin2004/mssql_server_tiny
for more information:
https://github.com/justin2004/mssql_server_tiny
I tried but get this error
Reason: 0x00000006
Status: 0x40000015
Message: Kernel bug check
Address: 0x6a42b430
Parameters: 0x6a629610
Stacktrace: 000000006a4e83a6 000000006a42b48b 000000006a41ecfd
000000006a42ae2b 000000006a4e6929 000000006a4e59c4
000000006a4e5836 000000006a4e571e
Process: 15 - sqlservr
Thread: 19 (application thread 0x1000)
Instance Id: 9442f2f7-951e-4243-9590-bccd9873958b
Crash Id: 4076a68d-8c61-4037-b1eb-79702c6a1d29
Build stamp: 1dc223c2c297541dfebf5ce3265c3e74bbe289d287259e15dd32bd77f11bc1bd
Capturing core dump and information...
dmesg: read kernel buffer failed: Operation not permitted
No journal files were found.
No journal files were found.
Attempting to capture a dump with paldumper
Core dump and information are being compressed in the background. When
complete, they can be found in the following location:
/var/opt/mssql/log/core.sqlservr.05_25_2019_18_48_27.15.tbz2
what happens if you run this:
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d mcr.microsoft.com/mssql/server
what happens if you run this:
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d mcr.microsoft.com/mssql/server
you're the man !! it was only about my volume mounthing issue is gone. So I have to 2 mssqlserver on my windows . Thank you for effort
Is there any fixes for this issue?
@leonicolas
a workaround is here:
https://github.com/justin2004/mssql_server_tiny
Have you tried setting the memory limit to something higher than 2000MB with the option -m 4g or --memory 4g?
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 --platform linux -m 4g -d mcr.microsoft.com/mssql/server
In a docker-compose file the same can be achieved by setting a resource constraint.
Most helpful comment
@gischethans
@jeromechrist
I made a docker image that works around this memory (limitation) policy:
https://github.com/justin2004/mssql_server_tiny