Hacker News new | ask | show | jobs
by bbrunner 2916 days ago
This feels a bit like "Why use Dropbox when rsync exists?" type of argument. Sure, you can do everything docker does with shell scripts, and you've been able to for decades, but many people didn't, because it was "complicated". There is often a huge amount of value in simplifying things, even if it means losing some of the power and the end result being objectively worse.
2 comments

Reminded me of this HN comment regarding Dropbox right when it launched: https://news.ycombinator.com/item?id=9224
Thanks that was a good laugh (I know, hindsight etc. etc.)
I mean... even today I'd take rsync over dropbox every day. Dropbox certainly fills a need for some people... but not for everyone.
Docker has reached the point that it is complicated. A lot of people never did cgroups just because it is lower, starting to touch kernel stuff. Few people want to go there.

Docker is one of those things that you can install and run; it takes a small amount of time to get running. As you said, value in simplifying things.

That being said... Anyone who takes the stance that containers are better than X/Y/Z are just showing that they don't have the drive to get into the why of how it all works.

Any argument of 'it saves overhead' can take that argument and run with it until the cows come home; but they don't understand that the overhead is all relative. As a programmer; I stopped caring about overhead and starting worrying about the fact that people will break my stuff, I just need to stop them from breaking other things using that as the foothold.

I think the base use case of Docker is still relatively simple, although like all things it has gotten to the point where, if you want to dig deep, you definitely can get way into the weeds, especially when you start talking about networking, orchestration, composing containers, and all of the tooling that now exists on top of Docker.

When you choose Docker/containers, you make a choice to expose yourself to a distinct class of problems. You make a tradeoff of saving overhead in exchange for opening up other issues. This isn't an absolute good or bad thing, as sometimes shaving off overhead is worth it even if your failure case becomes much worse.

I will say that, in general, I've found a lot people don't make this type of consideration and just go with a dogma of "Just use {technology} because it's popular".

I use Docker daily, and I almost never find it complicated.

I use it for build servers and my companies infrastructure.

The alternative would be a nightmare to me.

> The alternative

the fact that the singular is used in response to a thread concerning considering options and diving deep is telling.

Your getting caught up in semantics.

Docker is the best way to have reproducable build environments. I've been doing it for years with my packages, as well as embedded Linux.

Docker is also a very easy way to deploy applications/servers. I have been doing it for years and it's been nothing but smooth.

Give me an actual problem that isn't ridiculous and self-inflicted.

> Anyone who takes the stance that containers are better than X/Y/Z are just showing that they don't have the drive to get into the why of how it all works.

... or they know exactly how it all works because they've been through hell back & forth several times and are now happy to have a system available that solves many little nerve-wracking problems.