Hacker News new | ask | show | jobs
by user5994461 3502 days ago
Author of the quoted article here.

> failover, load balancing, local integration testing, mixed language platforms,

Docker does none of that.

It's only a packaging and deployment system. You package the app as a docker image, then you can call a docker command on any system to grab that image and start it.

Without docker:

1) You'd make a zip/deb/rpm of your application.

2) Download the zip to some servers

3) Update the dependencies & systems stuff

4) Start the app

With docker:

1) You'd make a docker image [basically: run a script to install the app and the dependencies, as in the previous steps]

2) Save that image to the container registry

3) Deploy & Start the image on some systems

1 comments

That's a very nice summary of Docker, and kind of highlights why the hype is somewhat... misplaced.

Jails (from bsd) and chroots are a great idea. But a way is needed to manage the file system of a) the chroot (the c libraries, the configuration files the application code). This is docker image; b) persistent data (database, images and binary user data etc). As far as I can tell docker doesn't really come with a compelling story here - something that's easier to manage and gives high performance (say something that competes with iscsi for database files, and a solid out-of-the-box clustered filsystem).

Now, docker gets (justified) hype for pushing the jail/chroot (aka "container") idea. But I think a lot of people (possibly including docker Inc) think that docker does much more (and do those things well) beyond being a nice-ish set of tools for building and managing self-contained chroot file systems for applications ("images").

Docker Inc certainly is working on "everything else" - but I think moat would be well-served to look at Lxd/lxc if what you want is "lightweight Linux vms", or kubernetes if what you want is to move towards a "container/chroot (micro) service paradigm".

Kubernetes might seem a bit complex, but that is because it tries to solve a complex set of problems.

Docker is more like "yo! Synchronise your /etc/passwd file across systems so you can log in to all your machines", while kubernetes is more like LDAP+dns+kerberos. More complex, but more sane. And built not just to get started, but continue to work as your system evolves.

And I've been quite happy playing with Ubuntu and Lxd + zfs on the other end - the simple light weight Linux vm end.