this post was submitted on 03 Jul 2023
986 points (97.9% liked)
Programmer Humor
19817 readers
1282 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Not just OSX: anyone using WSL on windows is an offender too
But as a WSL user, dockerised Dev environments are pretty incredible to have running on a windows machine.
Does it required 64 gig of ram to run all my projects? Yes. Was it worth it? Also yes
I’m even worse, I have used wsl in a windows vm on my mac before haha
And use that to virtualize Android, to go even further beyond
My experience using docker on windows has been pretty awful, it would randomly become completely unresponsive, sometimes taking 100% CPU in the process. Couldn't stop it without restarting my computer. Tried reinstalling and various things, still no help. Only found a GitHub issue with hundreds of comments but no working workarounds/solutions.
When it does work it still manages to feel... fragile, although maybe that's just because of my experience with it breaking.
You can cap the amount of cpu/memory docker is allowed to use. That helps a lot for those issues in my experience, although it still takes somewhat beefy machines to run docker in wsl
When it happens docker+wsl become completely unresponsive anyway though. Stopping containers fails, after closing docker desktop
wsl.exe --shutdown
still doesn't work, only thing I've managed to stop the CPU usage is killing a bunch of things through task manager. (IIRC I tried setting a cap while trying the hyper-v backend to see if it was a wsl specific problem, but it didn't help, can't fully remember though).This is the issue that I think was closest to what I was seeing https://github.com/docker/for-win/issues/12968
My workaround has been to start using GitHub codespaces for most dev stuff, it's worked quite nicely for the things I'm working on at the moment.
I found the same thing until I started strictly controlling the resources each container could consume, and also changing to a much beefier machine. Running a single project with a few images were fine, but more than that and the WSL connection would randomly crash or become unresponsive.
Databases in particular you need to watch: left unchecked they will absolutely hog RAM.
I've used WSL to run deepspeed before because inexplicably microsoft didn't develop it for their own platform...
I work in a windows environment at work and my VMs regularly flag the infrastructure firewalls. So WSL is my easiest way to at least be able to partially work in my environment of choice.