this post was submitted on 27 Aug 2023
51 points (91.8% liked)

Selfhosted

39435 readers
3 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 1 year ago (2 children)

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.

[–] [email protected] 1 points 1 year ago

This is what I do as well. I generally use it for testing then deploy it on my home server in a linux VM.

[–] [email protected] 1 points 1 year ago (3 children)

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?

[–] [email protected] 7 points 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.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

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

https://learn.microsoft.com/en-us/windows/wsl/wsl-config#configuration-setting-for-wslconfig

[–] [email protected] 1 points 1 year ago (1 children)

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

[–] [email protected] 1 points 1 year ago

nice! Thanks! :)