Not enough memory to start Docker

One currently cannot use the system tray -> Settings… to change the memory allocation. A known bug prevents that because the controls are disabled. The only way to change the memory allocation is to do this in Hyper-V on the MobyLinuxVM. You must stop the VM to change this. However, this causes all kinds of stuff to break in Docker, and you must then restart Docker. However, restarting docker causes the memory setting to revert back to 2GB!

1 Like

I’ve filed an internal issue for that.

How’s it working now ? I just started trying to wrap my head around Docker, and how I can apply the use of this technology.

Hi ,
I am facing same issue.
can u tell me how to change memory settings?

in Hyper V manager ,able to see MobyLinux.
what should be the next steps?

Appreciate your help

it worked, but weird… decreasing memory allocation worked …

1 Like

try switching to Windows containers

I had this problem and decreasing memory allocation worked… Tks guys

1 Like

Changing the memory slider under docker application (that is by right hand clicking the docker icon with in the notification area/ tray) settings- advanced solved this issue

1 Like

I have changed the memory and tried for first time it worked fine and docker was started, but while trying second time again i started to face space issue… but memory setting is low as previous. Need help.

Weird reducing memory worked.

1 Like

Same happened wid me…Try increasing memory and again setting it to lower level…Its funny but it works for me many times. :laughing:

2 Likes

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.