Live data from Hacker News

Ask HN: Is it just me or why does Docker suck so much?

news.ycombinator.com

31–40 of 85 posts

Re: Ask HN: Is it just me or why does Docker suck so much?

#31
Docker certainly has its pain points but I've actually really enjoyed working it into our build and deployment process.

The command syntax is sometimes a bit clunky but they are making regular improvements.

Not to repeat lgbr, but the registry is pretty easy to get running. I had some problems initially, but it was mostly because I didn't really understand how to use a container all that well. That sounds somewhat silly, but it ultimately was true.

Finally, the hype is ultimately a good thing. There's a lot of focus on the project right now, which (hopefully) means we can expect a good deal of improvement and stability in the near future.

Re: Ask HN: Is it just me or why does Docker suck so much?

#32
post #24

Earlier quoted context omitted.

That works if you have physical access to the machine/vm. What about EC2? Linode? Digital Ocean? etc.

Fair point. I guess for serious stuff I just find it bizarre that you'd want to run a load of containers in a vm (rather than just spooling up additional dropelts or linode instances). For non 'weekend project' stuff, surely it's cheaper and more efficient to lease a dedicated server and stick your own vms on that?

It almost certainly is cheaper, but it's more than some are willing to learn to do, I guess.

Re: Ask HN: Is it just me or why does Docker suck so much?

#33
post #10

I've been waiting for the hype to die down a bit and for the project to stabilise before properly playing with it but, from the outside looking in, I must admit I struggle to see how it's gaining as much attention as it is. I can see the advantage for dev boxes where a developer might want to setup a load of containers on their machine to emulate a staging or production environment. But I don't really understand why…

That works if you have physical access to the machine/vm. What about EC2? Linode? Digital Ocean? etc.

All of those have simple REST APIs to setup/teardown instances. Libraries exists for popular languages like node, ruby, java, etc.

Re: Ask HN: Is it just me or why does Docker suck so much?

#34
post #3

Q: Why do you want to change /etc/hosts and /etc/resolv.conf (besides hacking DNS for testing purposes)?

To run unit tests which rely on certain hosts to resolve to 127.0.0.1.

> To run unit tests which rely on certain hosts to resolve to 127.0.0.1.

If you are unit testing DNS infrastructure, shouldn't you mock DNS things?

Re: Ask HN: Is it just me or why does Docker suck so much?

#35
post #10

I've been waiting for the hype to die down a bit and for the project to stabilise before properly playing with it but, from the outside looking in, I must admit I struggle to see how it's gaining as much attention as it is. I can see the advantage for dev boxes where a developer might want to setup a load of containers on their machine to emulate a staging or production environment. But I don't really understand why…

What's wrong with that is that now your application--and, by extension, your developers--has (have) to care about a lot more stuff and needs to have its testing surface expanded appropriately. The potential interactions and therefore potential failures between, say, ops's cron jobs, the wire-up of stuff like logstash, changes to your chef configs, etc.means there's a ton more testing to be done. In a Docker world, the amount of stuff running in a context that the application can see is minimal and it's all related directly to the application in question. Your inputs and outputs can be clearly defined and this lets you present a stable API to the outside world (via volumes and links) while, as or even more importantly, providing a known-good, stripped-down environment for the application to run on. (chroot jails are a fine solution too, but I do prefer the relative handholding and easier application independence of Docker and AuFS.)

The other problem with your suggestion -- dd'ing and then running Chef or whatever -- is boot time. I can spin up an AMI ready to deploy Docker apps in under sixty seconds. We work in AWS, so I can't speak to the actual time of deploying a physical server, but I can download and deploy a Docker image from an AWS-hosted private registry in ten seconds. Chef won't even get its act together in thirty seconds, let alone do your stuff; between downloading a full VM disk image, the startup time for that virtual machine, and the time to run chef, you've wasted so much time.

Here at Localytics, we're trying to transition to an environment that is very comfortable with automatic scaling and can do so fast--seconds, rather than minutes--and Docker is a big part of that effort. Right now we deploy to AWS autoscaling groups (with AMIs defined via Packer). I'm pushing hard for us to use a clusterization system like Mesos/Deimos because it'll let us save money by introducing safe, sane multi-tenancy--and it'll let us react to changes in system load in mere seconds.

(obligatory: we're hiring. we work on fun stuff. eropple@localytics.com)

Re: Ask HN: Is it just me or why does Docker suck so much?

#36
post #14
post #5

Earlier quoted context omitted.

some of us use HOSTS to write config e.g. 10.0.12.34 mysql_host This allows some degree of flexbility 1. boot up new instances quickly as long as HOSTS is correct 2. Don't have to hard-code actual mysql server IPs. 3. Make mysql master/slave failover much easier.

Regarding number two, you'll just link your containers together with docker. See https://docs.docker.com/userguide/dockerlinks/ It seems that most issues OP have is mostly because misunderstanding or lack of knowledge.

Umm, so, how do you deal with Docker when you have more than one physical machine? It seems half the stuff it does just doesn't work then, and you have to pile on further abstractions anyway, using Docker just as a simple container management system (of which we have working ones already) and container build system (of which there are far better systems available).

Re: Ask HN: Is it just me or why does Docker suck so much?

#38
post #24

Earlier quoted context omitted.

That works if you have physical access to the machine/vm. What about EC2? Linode? Digital Ocean? etc.

Fair point. I guess for serious stuff I just find it bizarre that you'd want to run a load of containers in a vm (rather than just spooling up additional dropelts or linode instances). For non 'weekend project' stuff, surely it's cheaper and more efficient to lease a dedicated server and stick your own vms on that?

At Localytics, we wouldn't need to lease a dedicated server. We'd need to lease dozens. And we'd need to have the ability to spin up new hardware to accomodate more load in a minute or two.

You don't get that with physical hardware unless you want to overpay. We could overpay for depreciating plant assets or we could overpay for variable costs that we can more directly control. The latter makes sense to us.

Re: Ask HN: Is it just me or why does Docker suck so much?

#39
post #10

I've been waiting for the hype to die down a bit and for the project to stabilise before properly playing with it but, from the outside looking in, I must admit I struggle to see how it's gaining as much attention as it is. I can see the advantage for dev boxes where a developer might want to setup a load of containers on their machine to emulate a staging or production environment. But I don't really understand why…

I setup docker for our server deployments here at lever.co. We deploy our application multiple times a day. We test our changes in our staging environment first, and its important that we deploy the exact same code to production that we tested. Its also important that we can rollback any changes we make.

An application-image is the right way to do that. (With compiled dependancies and whatnot). And we could make an OS image every time we deploy code, but making a 600MB Ubuntu image to deploy a few lines of code change is ridiculous.

There's certainly lots of things that docker could do better, but I haven't seen any tools that let me deploy so conveniently, easily & reliably.

Re: Ask HN: Is it just me or why does Docker suck so much?

#40
post #27
post #14

Earlier quoted context omitted.

Regarding number two, you'll just link your containers together with docker. See https://docs.docker.com/userguide/dockerlinks/ It seems that most issues OP have is mostly because misunderstanding or lack of knowledge.

What if the mysql server isn't in a docker container or even on the same machine?

then just use environment variables (ENV keyword in Dockerfile or --env param in docker run command)
Post reply on HN