Miserable, terrible, no-good performance of Docker Desktop

Discussion in 'Windows Guest OS Discussion' started by KerryS1, Nov 12, 2022.

  1. KerryS1

    KerryS1 Bit Poster

    I'm running Parallels Desktop 18.1.0 on my 3.6 GHz 10-Core Intel Core i9 iMac, with macOS 13.0.1.

    I've tried running Docker Desktop with both Windows 10 and 11 guests.

    Since nested virtualization is required, these guests have been configured to use the Parallels Hypervisor, with both the Adaptive and Nested options checked on. I've used the default number of cores (in this case, 10), and double the suggested RAM (16GB). Docker is using the recommended WSL configuration.

    When I attempt to run anything with Docker Desktop, my guest OS becomes essentially unusable, barely responding to clicks and keyboard input. The macOS Activity Monitor shows the guest OS typically using close to 1000% of available CPU power (each 100% corresponding to full use of one core). This happens even while merely starting or shutting down Docker. I can run the same docker-compose.yml on a Windows laptop, or the macOS version of Docker, without a problem, and with very low CPU usage. For what it's worth, my particular use for Docker here is to run ElasticSearch and Kibana, but I don't think that's particular relevant to the problems I'm having.

    I've tried:
    • Uninstalling and reinstalling Docker.
    • Uninstalling and reinstalling WSL.
    • Resetting Docker.
    • Turning off Docker auto-update (some people have said this causes them problems).
    • Fresh installations of Windows 10 and 11.
    • All of the above in different orders.
    Nothing yet has made Docker anything but an unusable, unresponsive, power hungry, system-debilitating mess.

    Is anyone out there running Docker Deskop in a Windows guest successfully without all of this grief? If so, is there any advise you can give to get this working correctly?
  2. KerryS1

    KerryS1 Bit Poster

    Note: The above post should say "recommended WSL 2 configuration" (as opposed to using Hyper-V).
  3. KerryS1

    KerryS1 Bit Poster

    Apparently the complexity of my docker-compose.yml file has something to do with the problems I'm having, but not enough to lead to a solution.

    I thought a simplified set-up was helping a lot. I had very reasonable CPU usage for a while, and my system was running smoothly.

    Unfortunately, then I left to eat dinner. When I came back, I could hear the fan on my Mac blowing away, my guest OS was again pathetically unresponsive, and CPU usage was back to nearly 1000%.

    Perhaps there's a memory leak or a thread leak going on? What's weird is that even after shutting down all of my containers CPU remained very high for a couple of minutes before calming down to around 25%, and even then spiked back up to around 800% now and then. With no containers running and the desktop app closed, I still have all of these processes:

    ...shown here running at around 0%, but spiking upward in unison now and then.
  4. KerryS1

    KerryS1 Bit Poster

    Another experiment, more horrible Docker Desktop performance.

    I created a brand-new Windows 11 VM, this time using a Windows 11 DVD image rather than the built-in option for creating a Window 11 VM. This way I could customize the hardware settings before installation, with the Parallels Hypervisor and nested virtualization options switched on from the very start.

    Then I went straight to installing Docker Desktop, only installing the perquisite of WSL2 first.

    The first time Docker Desktop opened up, CPU usage shot straight up to nearly 1000%, and it took at least 15 minutes for the application to fully start. I didn't even get as far as running any containers and yet my system was run into the ground.

    I tried to open the Task Manager to see what was going on. It took nearly 10 minutes for the Task Manager to open and display any information. When I could finally see some info, it wasn't Docker processes themselves using up all of the CPU time, but system interrupts and vmmem.
  5. KerryS1

    KerryS1 Bit Poster

    I'm surprised no one else has chimed in on this thread to either say yes, they have this problem, or no, maybe it's just me.

    After contacting tech support, the Docker problem has been turned over "to our developers to investigate it further on the code level", so who knows how long that will take?

    In the meantime, it turns out VMWare Fusion handles Docker like a champ. No problems at all. I haven't used VMWare for a long time, and I still find some aspects of it a bit clunkier than Parallels (installing Windows 11 for ARM was a real pain -- not that I can run Docker on ARM with either platform), but performance-wise, I have to say, Parallels has some catching up to do. Even aside from Docker issues, I find my VMWare setup much smoother and more responsive than I had before with Parallels.

Share This Page