Hacker News new | ask | show | jobs
by KronisLV 1480 days ago
> Runs docker in a VM for you

It depends:

  - the Hyper-V backend uses a VM for running the actual containers, which is a bit annoying because it just sits there and eats your RAM whenever it's on (technically you could enable dynamic memory for the VM, but i think it used to break)
  - the WSL2 backend uses the whole fancy new system that Microsoft came up with to, idk, attempt to embrace and extend Linux or something; far less annoying than Hyper-V but also has somewhat different approaches to setting resource limits (e.g. if you only wnat to give it 4 GB of RAM or 4 CPU cores so something is left for the rest of your system and doesn't slow down when you run docker build)
Honestly, Docker on *nix is a way better experience, but not everyone can run it for a variety of reasons (e.g. corporate policy or having the same PC for personal development and gaming).
4 comments

Last year, our entire devlopment team switched to Linux for development. We ditched Mac and Windows. And we discovered something:

1. We were all spending 6-8 hours per week trying bending our host OS to work like Linux. Containers, package managers, compatibility layers, different autocompletes, etc... all do create work. All the adaptations to avoid running Linux also often don't work identically to the real thing (i.e. VM CPU & memory allocation vs. Linux container CPU & memory allocation, installing Postgres on MacOS vs Linux) so there's lots of little learning curves.

2. We spent a lot of time learning how to do things in Windows and MacOS that did not apply to production. Now all the learning "how to make x work" applies to development and production, too.

Incidentally, running Podman or Docker on Linux is a much better experience that the simulation via VM that exists on Windows and MacOS. Another plus is that containers behave for developers like they will in production, leading to better decisions about using containers.

> Incidentally, running Podman or Docker on Linux is a much better experience that the simulation via VM that exists on Windows and MacOS. Another plus is that containers behave for developers like they will in production, leading to better decisions about using containers.

This is probably the most important point and something that I can wholeheartedly agree with! On Windows, you get the occasional issues with bind mounts or file permissions (e.g. wanting to use a container that has SSH keys in it, but software complaining about 77X access, instead of 700, which you literally cannot change), or even networking.

Whereas everything "just working" on *nix is great.

WSL2 is basically a VM too, but managed by windows: https://docs.microsoft.com/en-us/windows/wsl/compare-version....
Hyper-V backend also runs Windows containers, and in that case Microsoft decided to have the same docker frontend that everyone uses was better than coming up with their own CLI just for the Windows containers part.

WSL2 is no different than using Virtual Box or VMWare, now shiiped by Microsoft instead.

As others pointed out, Linux Desktop is never going to happen beyond the usual 1%, other than Android/ChromeOS workloads.

Typing this from a Asus 1215B, probably the last GNU/Linux device that I will own.

And 2022 is still not the year of the Linux Desktop.

Many tried and went back to OSX die to the rough corners of desktop Linux.

It will probably never be the year of the Linux Desktop in the mainstream, despite many promising projects out there.

But for personal usage, Linux is more than acceptable - if you can grokk all of its pain points, that is. Linus Tech Tips did a few videos on the topic recently, it was painful but understandable to watch. Personally, Ubuntu LTS (or equivalent boring long term support distro) or something with XFCE is solid and really usable, especially if you intend to do programming, where things are weird on Windows sometimes.

Except for gaming. Proton still has a ways to go and Wine isn't optimal for that sort of stuff and neither Linux or OS X are worth supporting for many games/projects/software because they represent a small part of the total userbase. For example, in regards to games: https://store.steampowered.com/hwsurvey

  Windows 96.68%
  OSX     2.20%
  Linux   1.12%
Supporting any system that's not Windows for games would be like burning money. At that point, you might as well offer the game for free on those systems (if using an engine like Unity/Unreal/Godot, where builds are easy) but refuse bug reports on them, if you don't have the resources for that kind of support.
Typing this on a Asus 1215B that was sold with a Linux distribution and has already had a couple of LTS distributions since 2009.

Even though it was sold as Linux supported device, it had its own series of issues, with wlan driver being broken when Canonical decided to replace it for a less capable one taking 6 months to reach feature parity, nowadays GL is stuck at 3.3, although fxgl used to be able to do 4.1.

And then there is the whole issue with VA-API, and the workarounds to watch hardware accelerated video.

Hence why when this netbook dies, I most likely will stick to using GNU/Linux from VMs, which I have been doing with VMWare since 2010 in other computers, I don't recall the last time I went through the trouble of setting a dual boot system.

Makes me think of what other laptops (or even just PC hardware in general) have some of the best support on *nix. Personally, in my experience most hardware has been passably okay, at least when compared with trying to run FreeBSD, though some required tweaking (such as touchpads).

I think Lenovo ThinkPad laptops have some of the best reputation in that regard, though the newer models can definitely be a bit on the pricey side.

With ThinkPads, just buy a few generations behind refurbished, preferably from a nonprofit recycler. They've always been great for Linux. The T series gives you more upgrade options, but the X models run longer on a charge and are small and light . I'm on my second now, having "upgraded" from a T430 to an X250. But I miss the larger screen and so will probably get a T470 or T480 soon.

Running boring plain vanilla Ubuntu LTS with the ("curse you, FreeDesktop.org!") Gnome Shell and a few extensions that probably drive the minimalists on the Gnome Project bonkers (also running a lot of web apps like Gmail and Keep as PWAs). Or at least I hope they do. Mostly program, don't game: I leave that to my kids, both game developers. As a literal greybeard I don't care much if The Year of the Linux Desktop ever comes, because I've been living The Life of the Linux Desktop for over two decades.

Still using docker for workloads at home, but if I was still managing massive numbers of containers at work I'd probably be running podman for anything that didn't justify the cost and complexity of k8s.

I'm running Pop_OS! (after a breakage with Arch) on my T14s and the experience has been really great.
I've largely abandoned macOS for Linux when it comes to work stuff, but I still have a Windows desktop for games. That said, I've been very impressed by my Steam Deck. Windows 10 will probably be the last version of Windows for me.
I’m a happy user of Linux desktop, Ubuntu. I will never go back to anything else than some other version of Linux. I can’t stand OS X anymore. I can’t even remember when I used windows the last time. I must be an idiot.