Folks, I have a node.js script running on my Windows machine that uses the dockerode npm package to talk to docker on said box and starts and kills docker containers.

However, after the containers have been killed off, docker still holds on to the memory that it blocked for those containers and this means downstream processes fail due to lack of RAM.

To counter this, I have powershell scripts to start docker desktop and to kill docker desktop.

All of this is a horrid experience.

On my Mac, I just use Colima with Portainer and couldn’t be happier.

I’ve explored some options to replace Docker Desktop and it seems Rancher Desktop is a drop-in replacement for Docker Desktop, including the docker remote API.

  1. Is this true? Is Rancher Desktop that good of a drop-in replacement?
  2. Does Rancher Desktop better manage RAM for containers that have been killed off? Or does it do the same thing as Docker Desktop and hold on to the RAM?

Are there other options which I’m not thinking of which might solve my problems? I’ve seen a few alternatives but haven’t tried them yet - moby,
containerd,
podman

I don’t actually need the Docker Desktop interface. So pure CLI docker would also just work. How are you all running pure docker on Windows boxes?

  • Rikudou_Sage@lemmings.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    When I had Windows I ran WSL2 + standard Linux docker, worked flawlessly. If you have all your files in the WSL volume, it’s also really fast compared to Docker Desktop on Windows or Mac. I found it almost as fast as a native Linux version.

    • damnthefilibuster@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I thought WSL2 made things slow because of some stupidity they did with the code? Maybe they fixed it.

      Anyways, is it able to take as much resources as it needs from the host? Unrestricted in terms of RAM and CPU?

      • Rikudou_Sage@lemmings.world
        link
        fedilink
        English
        arrow-up
        7
        ·
        1 year ago

        It’s slow when you go cross-filesystem, meaning accessing WSL2 files from Windows, or accessing Windows files from WSL2. If you keep all related files in WSL2, it’s really comparable to native Linux experience (with a small penalty due to being ran in a VM, but it’s not noticeable by a human eye).

        As far as I know, yes, it can take all the resources it needs.

      • breadsmasher@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        made things slow

        That’s probably referring to how file systems are handled. Going from WSL to windows file system is slower than using the “proper” mount point

        Unrestricted

        yes