The Magic Behind the Scenes of Docker Desktop
docker.com
docker.com
Nothing new under the sun, this was already possible with docker-toolbox.
> Seamless plumbing into the host OS giving containers access to the filesystem and networking
Lol. The native filesystem mounts are like 10x slower than on Linux, making them useless. FUSE helps somewhat but causes other issues, especially when mounting lots of files that change often.
> Bundled container tools including Kubernetes, Docker Compose, buildkit, scanning
Thanks a lot, previously I had the choice of installing these myself as needed instead of having them all, always, at the newest versions.
> Docker Dashboard for visually managing all your container content
I never use it for anything since all my environments are managed by scripted docker-compose.
> A simple one click installer for Mac and Windows
Who is it for, exactly? Developers can handle installing things.
> Preconfigured sane and secure defaults
Lol, no. The ”sane defaults” always lead to containers getting killed by OOM. Security is also dubious, since the default network is shared between all containers. Also have you ever tried setting up to route all traffic through a VPN because that is nigh impossible.
> Automatic incremental updates to keep your system running securely
By showering free tier users with update nags that can only be snoozed and not skipped. Too often the updates also break something.
Why should somebody not upgrade packages to the last stable ones (and patch exploits) and why a good developer should be also a good DevOps? That's not like real life works.
So what of your complains are not because of bitterness (that they want to charge big companies for using what they pay programmers to develop)? :)
I gave people a fairly complex solution in an easy to use package for free because I had no idea other users would pay for it. Everyone was happy to use it and ask for features and send emails with “can you please do this in this other way that I like”.
So I continued developing it because positive feedback gets you in this loop where you don’t realize how much time you’re spending on things that you don’t even need in this app and are only to please other users.
When I realized I just spent 4 years on developing all these features I don’t use and there’s a real need for this solution in the world, I started asking for money on advanced features to at least recover some of that development time.
I also added a download link to the last free version of the app for people that don’t need the new paid version.
That’s when hate mail started. “Why the heck would you ask me to pay for the same features that were previously free?” and “lol what a stupid app, you turned it into nagware, I will just use a cracked version from now on”
What’s the solution here? Just develop a hard skin and continue doing the same thing until people stop complaining and get used to your product having a monetary value?
[1](https://lunar.fyi)
The way that people value software these days is completely insane.
People writing you hate mail are bad clients that you don't want and you can feel free to ignore them.
Also watch this video that was doing the rounds on HN a couple of years ago: https://www.youtube.com/watch?v=jVkLVRt6c1U&t=54s
Your app looks neat - I'll go try it out.
It has been like that since the 2000. It gained wider traction when app stores (looking at you, Apple!) started with a baseline of 0.99 USD in 2009. That's just outright insane. I'd be better off giving away my app for free, because people are lot less demanding when they didn't pay for something.
It looks to me like they are attempting to attract funding.
But based on my experience, I would say someone worked their ass off to make that UI (because Docker is damn hard for newcomers) and the automatic updates (because zero-day exploits can happen and almost nobody checks for updates manually, and then you have tons of users at risk and incredibly bad PR) and simply didn’t consider adding the possibility of skipping or hiding those functionalities.
You just can’t do everything users want, but you do try hard to please almost everyone.
And if that person that did that work reads this comment, they will feel horrible when even after all this work, they still get mostly bad criticism and no thanks. Comments like these can break a person.
We got used to critiquing companies and products because we keep forgetting that behind them are just people working hard, and maybe 2-3 people in charge that make bad decisions along the way dragging everyone down with them.
In that case, seems fair enough that as a business suddenly being asked to pay for Docker Desktop, you'll start asking for a more polished experience.
But they've already done the incredibly hard part which is creating and popularising OCI, developing an engine that works on most operating systems, and having nice tooling around all of that.
Polishing the Docker Desktop experience should be fairly easy as soon as people let the Docker devs know how they expect it to work: https://github.com/docker/for-mac/issues
https://github.com/docker/for-mac/issues?q=is%3Aissue+is%3Ao...
So it does all the "magic" without the overhead and intransparency of Docker Desktop. It's definitely something I'm going to recommend other people use on windows/mac moving forward.
On another note, the Enterprise Windows Desktop which Docker Desktop is probably mainly targeting with this product, oftentimes has issues with the way the default firewall is configured. I'm not talking about MITM firewalls that docker containers may have issues with by the way. Docker desktop has had some local port requirements that may not work in enterprise environments and debugging it was always a nightmare.
You’d be surprised about how many developers can’t and also don’t want to handle setting things up. But I’m not judging them. Docker stuff can get complicated quickly.
Maybe it’s not represented on HN, but a lot of developers just want to get their work done and not get sucked into the complexity of the myriad ways they can set up their development machines, so a “one-click” installer works well for them even with some downsides (that may not even become issues for them).
> not get sucked into the complexity of the myriad ways they can set up their development machines
This is partially due to the tech-blogosphere advice being like linux distros: whenever someone feels like there’s too many blog posts with too many differing approaches, they write a new blog post which adds yet another search result to wade through.
I admire the work Docker has done but they have not solved this basic product usability problem after all these years; and now they want us to pay.
It doesn’t feel right to me.
For the past year or so though, it's been rock solid for me - I don't recall a single issue.
Meanwhile when I need to use my Mac... Docker still pegs the CPU and makes the whole machine almost unusable.
It’s why I will be running podman on my Mac as soon as I can get compose working.
I had regular problems very like yours, then one day it just stopped happening, suddenly WSL2 Docker Desktop worked fine.
I'm suspecting it might be around the time I turned Kubernetes off again?
Read through the article and the mystery still remains on why it’s so slow and cumbersome for what it supposedly does.
On MacOS I have to restart it every other day for no apparent reason. Upgrading versions sometimes breaks working setups (new experimental options enabled by default until you find and disable them).
I don’t get any joy in using the product. This is not what great dev tools should feel like. But we need to align on something and picked this as part of our workflow.
Docker: If I make time to read about Podman and come up with a strategy to migrate my team I’m out.
Yeah, go CLI! Who said we don't deserve to be stuck with 1980s "UI" today? Nobody!
Automation of command line also is a lot simpler than GUI tools.