Live data from Hacker News

Ask HN: What is the actual purpose of Docker?

news.ycombinator.com

141–150 of 159 posts

Re: Ask HN: What is the actual purpose of Docker?

#141

Earlier quoted context omitted.

Docker and OpenVZ are not the same. Docker is single application focus. OpenVZ provides the entire OS in a container. OpenVZ has support for live migration.

OpenVZ is closer to KVM (full virtualization). OpenVZ container is a lightweight VM which shares host kernel, has persistent FS and traditional OS you have to manage.

When I worked with docker containers, I noticed that they seem to present a full OS, with a FS that you had to manage.

I had to change /etc config files, mange where logfiles went and how they were handled, all of this is described on a diffing filesystem.

I might be misinterpreting what you mean though. I have no experience with OpenVZ and little with Docker.

Re: Ask HN: What is the actual purpose of Docker?

#142

Earlier quoted context omitted.

> docker and openVZ aim to do the same thing. docker is a process container not a system container. > docker is a glorified chroot and cgroup wrapper. that is fairly immaterial, suffice to say that the underlying linux core tech that enables docker has matured enough lately to enable a tool like docker. I built many containers and I never thought about them in terms of the underlying tech. > There is also a library o…

edit this sounds like I'm being petty, I apologise, I'm just typing fast. > docker is a process container not a system container. Valid. However the difference between docker image and openVZ images is the inclusion of an init system. > Have to disagree here, primarily because each service should live in each own container, docker is a process container, not a system container. Assemble a system out of several contai…

> I much prefer each service having an IP that is registered to DNS. This means that I can hit up service.datacenter.company.com and get a valid service. (using well tested dns load balancing and health checks to remove or re-order individual nodes)

There are docker-backed service management tools that will automatically this for you(assign public/private dns per service cluster inc load balancing), like Empire https://github.com/remind101/empire

Re: Ask HN: What is the actual purpose of Docker?

#143
post #105

Earlier quoted context omitted.

On OpenVZ, I can edit /etc/network/interfaces for each CT and can assign a static IP, for one example. Can I not do that for Docker? Sorry if this is naive, I don't know much of anything about Docker.

no, for many reasons: You should have no way to login to the docker container Dockers networking does not allow that for that IP to be visable.

Ok, thank you for clearing that up for me.

Re: Ask HN: What is the actual purpose of Docker?

#144
A meta critique after reading 139 comments: I too had the same question as the parent and from the ensuing conversations, I assume that either Docker is so thin-layered (not in a bad way) that it is open to so many interpretations or it is so thin-layered (in a trivial way), that one does not need to get all worked up adopting it if one is comfortable in using other VM options out there (like OpenVZ for example).

Re: Ask HN: What is the actual purpose of Docker?

#145
post #38

Earlier quoted context omitted.

> How is building a Vagrant box via Ansible configuration any different than building a Docker container with a docker file? Unless you're snapshotting that vagrant box and then deploying that to all your servers somehow, you are building multiple times. > What is this rule to only build once? I'd recommend reading the book Continuous Delivery. It is a fantastically helpful read. I prefer not to update my machines, b…

> I'd recommend reading the book Continuous Delivery. It is a fantastically helpful read. Which one? The one by Humble and Farley (Addison-Wesley) is from 2010, is it still relevant?

Still? For me, when I hear book recommendations, the older the book is the more likely the book is still relevant. Books get forgotten over time.

The book is excellent. I was surprised that it wasn't older.

Re: Ask HN: What is the actual purpose of Docker?

#146
post #89

You're coming at this from the wrong direction, namely virtualization. What differentiates Docker is not virtualization, so much as package management. Docker is a package management tool that happens to allow you to execute the content of the package with some sort of isolation. Further, when you look at it from that angle, you start seeing the flaws with it, as well as it's potential. It's no accident that Rocket a…

I was wading through the confusion in this thread looking for this answer. The big benefit for me is that it is not virtualized. I can repurpose physical machines in my cluster quickly, by spinning up a different container. I don't want to run three VMs on one box, I want to run the same kind of node on thirty boxes. With Docker + Kubernetes (or Mesos), I can then switch these to another node type incredibly quickly.…

I haven't needed that yet (not at the scale I am using), but that is exactly the use-case I am looking forward to.

I have a lot of interest in seeing our current devops tooling converging with AI/MI. I don't see that happening without something like Docker.

Re: Ask HN: What is the actual purpose of Docker?

#147
post #122

Earlier quoted context omitted.

Fair enough! I ran through the same thing too. I used to work for Opscode. I joined them because I like the idea of "infrastructure-as-code." I remember when Docker came around, I was scratching my head. There was a part of me that thought it has something, and another part that was thinking, why would anyone want to use this? Wouldn't this set us back to the time when infrastructure is not code? I couldn't put my fi…

For what it's worth, we use this metaphor a lot, along with the same wording in pretty much every pitch we do, both public and private. What I find interesting about Docker is that different people get excited about different aspects of it. One of the major reasons I love working at the company - I get to watch them have the same feeling I did over 2 years ago: the feeling that Docker can help with something they fin…

Thanks for sharing. I remember the pictures of intermodal containers for explaining this.

Sadly, I also see writeups that focus too much on the virtualization aspect. The journalists are searching for something to compare it to, so Docker gets compared to other virtualization and resource isolation tools.

Growing pains, I suppose?

Re: Ask HN: What is the actual purpose of Docker?

#149

Earlier quoted context omitted.

>Unless you're snapshotting that vagrant box and then deploying that to all your servers somehow, you are building multiple times. You're also configuring many things in many different potentially complex ways. The docker method of using environment variables as a configuration hack to get around this is pretty horrible, IMHO. Especially compared to ansible's YAML/jinja2 configuration.

>Especially compared to ansible's YAML/jinja2 configuration. YAML/jinja2 is just terrible. When you have to introduce a templating system to programmatically generate your YAML configuration files, what you have really needed the whole time is an actual programming language.

It's a non-turing complete programming language much like excel spreadsheets are non turing complete programming languages.

Taking out the turing completeness restricts the mess which you can make and lets non-programmers do more while still being customizable.

Re: Ask HN: What is the actual purpose of Docker?

#150
post #131

OpenVZ or LXC give you OS containers like KVM or VMWare gives your Virtual machines. Unlike OpenVZ, LXC does not need a custom kernel, and is supported in the mainline Linux kernel paving the way for widespread adoption. Docker took the LXC OS container template as a base, modified the container OS init to run a single app, builds the OS file system with layers of aufs, overlayfs, and disables storage persistence. An…

Docker does not use LXC as default execution environment anymore. They created their own, called libcontainer¹. But with the new opencontainers movement, the package has been moved to runc².

[1] https://github.com/docker/libcontainer

[2] https://github.com/opencontainers/runc

Post reply on HN