Live data from Hacker News

Dissatisfied with Docker

robert.ocallahan.org

181–190 of 229 posts

Re: Dissatisfied with Docker

#181
post #156
post #42

There are two kinds of software: software no one uses, and software people complain about.

Also feature complete software that is regularly used by lots of people, but nobody complains about, because devs don't mess with it anymore. Think ls, grep, yes, ...

I will happily complain about grep. My complaints might not be valid but I'll happily do it. I hate that bsd and gnu grep are different. I can never remember when and which flag I need to pass when my expression has stuff in it the default can't handle. I don't like that it's slower than alternatives like ag. I wish it would automatically handle compressed data.

Also the saying is not as pithy if you add more kinds of software.

Re: Dissatisfied with Docker

#182
post #42

There are two kinds of software: software no one uses, and software people complain about.

Why have I not heard this before? Brilliant. I'm going to file this right alongside "software is never finished, only abandoned"

I don't know if I would call it brilliant, it's pretty funny though. I didn't make it up.

Your quote is first said about art and attributed to Da Vinci.

Re: Dissatisfied with Docker

#183

... then I suppose Selfdock is for you. * Does not give or require root. * Fast: Does not write to disk. * Fast: Does not allocate memory. * No daemon. https://github.com/anordal/selfdock

> Give up the idea of data volume containers. Given that volumes are the way to go, no other filesystems in the container need to, or should be, writable.

Interesting philosophy, it will pose some issues when replicating a Docker 'build' like system though. But that could be separated from the 'run' system with cached layers.

edit: Btw, Docker also seems to support this: https://nickjanetakis.com/blog/docker-tip-55-creating-read-o.... Also allowing explicit creation of writable tmpfs mountpoints.

Re: Dissatisfied with Docker

#184

I'm surprised nobody is mentioning LXC[1]. I'm by no means a containers expert, but they claim to be more secure since they default to running as non-root. Unlike docker, I had no trouble installing LXC with apt, while with docker I often got an outdated version. I'm now using LXC for all of my basic container applications (self hosting a wiki and a few other sites). [1]: https://linuxcontainers.org/

How do you create an image for LXC? With docker, they have the docker.io service with all types of distros you can chose from.

The project provides prebuilt images for all the common distros: https://us.images.linuxcontainers.org/

Use them in one command. For example:

    lxc launch images:debian/sid/amd64
Ubuntu, which I believe is the most popular image base in Docker, ships official cloud images, and you can also use these in one command:

    lxc launch ubuntu:bionic

Re: Dissatisfied with Docker

#186

Earlier quoted context omitted.

those scripts are now built into docker with `docker system prune`

Little changed after I ran this script. My ~/Library/Containers/com.docker.docker/ is a whopping 64.01 GB. Running 'docker system prune' only recovers: Total reclaimed space: 1.986GB But when I check ~/Library/Containers/com.docker.docker/ for size after prune it still says 64.01 GB. Am I doing something wrong or is 'docker system prune' useless?

docker prune -a is probably what you’re looking for. (I’m not responsible for data loss)

Re: Dissatisfied with Docker

#187
post #180
post #177

Earlier quoted context omitted.

You'd be surprised. Big Java enterprise apps deployed to Tomcat or God-forbid! IBM/Oracle app servers can take 2-3-5 minutes just to be fully operational. I've had deployment health checkers timeout after 2 minutes because the servers just wouldn't be up. It seems insane, but that's how life looks for thousands of developers.

> It seems insane, but that's how life looks for thousands of developers. True, but there's tens of thousands of developers not using big Java enterprise apps where having Docker add 4-5-6+ seconds of startup time has a huge negative impact. gunicorn (Python) apps tend to start in hundreds of milliseconds (even pretty big ones). puma (Ruby) apps tend to start in seconds or tens of seconds (it can get higher for massi…

I've been part of Ruby teams and Rails apps can start almost as slow as Java apps. Big .NET projects, too.

Plus there's probably 10x more Java developers than Ruby developers out there. And Elixir/Phoenix devs are probably 0.001% of Java devs :-)

Re: Dissatisfied with Docker

#188
post #178
post #156

Earlier quoted context omitted.

Also feature complete software that is regularly used by lots of people, but nobody complains about, because devs don't mess with it anymore. Think ls, grep, yes, ...

Devs can't mess with it anymore, you mean? There's a myriad alternatives to ls, grep, etc. Dunno about alternatives to yes, maybe there's a si/oui/da out there? :) Sometimes the alternatives are considered superior to the originals (ripgrep) but the originals are just fossilized in place. In 2019 I don't even think we'd be able to have less as the pager instead of more, because we're so conservative about universals…

Well, sure. There are alternatives, but the original software stands as it is and is available out of the box. It's really useful to learn once and then use everywhere.

Re: Dissatisfied with Docker

#189
post #187
post #180

Earlier quoted context omitted.

> It seems insane, but that's how life looks for thousands of developers. True, but there's tens of thousands of developers not using big Java enterprise apps where having Docker add 4-5-6+ seconds of startup time has a huge negative impact. gunicorn (Python) apps tend to start in hundreds of milliseconds (even pretty big ones). puma (Ruby) apps tend to start in seconds or tens of seconds (it can get higher for massi…

I've been part of Ruby teams and Rails apps can start almost as slow as Java apps. Big .NET projects, too. Plus there's probably 10x more Java developers than Ruby developers out there. And Elixir/Phoenix devs are probably 0.001% of Java devs :-)

It depends on how big the Rails app is.

One app I work with has 40 top level gems and about 17,000 lines of Ruby code (which goes a longs ways in Rails). It's not "big big" but it's not tiny. It takes under 10s to boot up. I'm sure if you have a Shopify-tier app it takes much longer, but a majority of apps aren't at that scale.

I was just throwing out examples and I'm just trying to say not everyone is dealing with cases where Docker's added 2-5+ seconds isn't a big deal. For a Flask app those few seconds make it ~20-50x longer to start up due to Docker and for a majority of other frameworks / average app sizes, it's a non-ignorable amount.

Re: Dissatisfied with Docker

#190

I'm surprised nobody is mentioning LXC[1]. I'm by no means a containers expert, but they claim to be more secure since they default to running as non-root. Unlike docker, I had no trouble installing LXC with apt, while with docker I often got an outdated version. I'm now using LXC for all of my basic container applications (self hosting a wiki and a few other sites). [1]: https://linuxcontainers.org/

How cross-platform is LXC containers? Somehow I still use Vagrant in my pet project, since I want Windows and Mac users to have a dev environment in a few steps.
Post reply on HN