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?

    • TrustingZebra
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 year ago

      This is a common misconception. Podman has similar commands to Docker CLI but it’s not a “drop-in replacement”. Depending on your usage, you might run into things that don’t work the same.

    • russjr08@outpost.zeuslink.net
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      Yep! You can even just alias the docker command to podman, and most things will work just fine. Podman can also expose a socket that is compatible with the Docker API for anything that requires it too.