When running docker dev environment with Linux and Windows (with WSL2), it’s already in the same container context so the performance is decent. However, on Mac there’s no WSL2 equivalent so bind mounts are painfully slow due to the overhead of translation between the Mac’s and container filesystem.
Is there any way to run the code in docker VM like WSL2 allows?

  • Paradox@lemdro.id
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    I moved off docker engine and to colima for this very reason. Mounts are speedy now

    • s900mhz@beehaw.org
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      I’ve been looking at this, we use Docker Desktop for local development on M1 Macs. Is there a reason to switch? Does it have a lower memory footprint?

      • Paradox@lemdro.id
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        It’s a lot more performant, because it makes use of apple’s built in virtualization tools. You can adjust how much memory, CPU, and storage are given to the vm

  • adhdplantdev@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Depending on the Mac you’re using you can set up a VM directly using a hypervisor like VirtualBox or UTM to help improve performance. However if you’re trying to run a production application on a MacBook using docker you’re going to have a bad time. If you’re trying to performance test you’re better off trying to set up a cloud instance in Amazon using Linux to get better performance

    • iamrootOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Production runs on Linux server. The problem is with development environment, I want to avoid Virtualbox as it would be an extra overhead to manage and affect DX.

      • adhdplantdev@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Instead of using something like a bind mount you could try using a Network file share like NFS which has pretty good performance or you could use samba but performance is not its strong suit.