Not enough memory to start Docker

Have you enabled NUMA spanning in your HyperV settings? if not enable it i bet that will solve your issue.

By default, Windows Server enables NUMA spanning, which provides the most flexibility as virtual machines (VMs) can access and use memory in any NUMA node. But it may result in lower performance compared to forcing VMs to use memory on the same NUMA node as the processor cores.

By disabling NUMA spanning, you ensure that VMs use memory and processor cores in the same NUMA node, giving the best performance.
This should only be changed once, if, as an administrator, you feel comfortable with NUMA and the implications of disabling and also if you have some additional management suite that can help ensure best configuration.

To configure NUMA spanning, open the Hyper-V Settings and select the NUMA Spanning option and disable it, I am sure, it will get solved; I struggled with the issue for a week and resolved it by disabling NUMA.

I am sure this would be marked as resolved by disabling NUMA in Hyper-V Manager.

1 Like

let me try wid thisā€¦Thanks :slight_smile:

Hi! Decreasing the memory allocation from Docker - Settings - Advanced settings from 2048 Mb to 1536 Mb did the job. Weird but it works! :slight_smile:

In case ā€œNot enough memory to start Dockerā€ kicks in when switching from Windows to Linux containers, please see https://stackoverflow.com/questions/52904104/how-to-reduce-default-vm-memory-for-docker-linux-containers-on-windows which explains how to modify Dockerā€™s memory defaults manually.

That worked well for me too.

I tried to reduce the size to 1gb, it works but my SQL server wonā€™t run (because it requires minimum 2gb ram ), please help

If you donā€™t have enough memory we canā€™t help you. If the SQL server cannot be configured to use less memory than you have to buy more memory.

Hi i am new to Docker desktop and i am facing the same issue and i am running it directly from my PC and not on any virtual environment

Docker Desktop always uses a virtual machine. @mccarter wrote about the MobyLinuxVM which was the virtual machine running on the HyperV backend. If you have the WSL backend, you need to configure WSL:

If you increase the amount of memory for WSL, make sure you still have enough memory for your Windows host.