Live data from Hacker News

How is Docker.io different from a normal virtual machine?

stackoverflow.com

61–70 of 111 posts

Re: How is Docker.io different from a normal virtual machine?

#61
post #7

Docker doesn't add a whole lot over what basic Linux containers (lxc and vserver) have offered for years. Having said that, the main benefit to Docker is a change in viewpoint from "virtual machine" to "application". Docker aims to make applications portably deployable to any Docker-machine. Since Docker uses lxc (aka Linux containers), it helps to understand a little how containers are different from other virtualiz…

To be honest I've never worked out why Docker gets so much press. If you use the Ezjail utility to configure and manage FreeBSD jails you have been able to do most of the things Docker does for years (stacked fs using unionfs, templates/flavours, snapshots, export/import etc) and this seems like a much simpler and more stable solution. The networking stuff is also easy using pf.

There's also Solaris Containers, which leverages ZFS snapshots, etc.:

http://en.wikipedia.org/wiki/Solaris_Containers

Of course, Solaris is even more despised by some people since they changed hands.

I think Docker appeals more to people, because:

- It's on Linux, which is more popular than FreeBSD or Solaris.

- It's very easy to set up and configure.

- Integration with Puppet et al.

- The have great marketing :).

Re: How is Docker.io different from a normal virtual machine?

#62
post #54
post #7

Docker doesn't add a whole lot over what basic Linux containers (lxc and vserver) have offered for years. Having said that, the main benefit to Docker is a change in viewpoint from "virtual machine" to "application". Docker aims to make applications portably deployable to any Docker-machine. Since Docker uses lxc (aka Linux containers), it helps to understand a little how containers are different from other virtualiz…

Yes, Docker builds on top Linux containers but they seem to be releasing some neat features that make containers easier to use, manage, and reuse. For example: The docker-cluster project, https://github.com/globocom/docker-cluster seems very interesting as it might allow you to abstract the host with a cluster/logical group. Having this abstraction is key if you are running docker on a non-virtualized (bare metal) ho…

If you're interested in cool projects built on top of Docker, take a look at http://github.com/dockerforge, it has a nice list.

Re: How is Docker.io different from a normal virtual machine?

#64

Earlier quoted context omitted.

Because almost no one around here uses FreeBSD it seems.

Some of us do, when appropriate. Docker took a technology known to many that setup/admin/manage machines, added some fluff, made things simpler, and marketed the idea. In a crowd that might spend more time thinking about nodejs and callbacks vs promises or how easily one can tip a rails app up on heroku, existing systems tools for things like jails/virtualization may either be over looked or not a concern. For every…

"added some fluff, made things simpler, and marketed the idea"

Well what on earth do you need a pre-assembled computer for? You just take some circuit boards and a soldering iron, then assemble everything over the weekend and you have a perfectly good computer. I don't understand why this Apple I thing is so popular, it's nothing special.

Far as I can tell, every successful piece of tech out there can be reduced to "Added some fluff, simplicity, and marketing to an already existing technology"

Re: How is Docker.io different from a normal virtual machine?

#65
up to I looked at the draft for $5082, I did not believe ...that...my friend was like actualey earning money in their spare time on their laptop.. there moms best frend has been doing this for less than eight months and as of now cleared the loans on their villa and purchased a new GMC. look at more info big57.CoM

Re: How is Docker.io different from a normal virtual machine?

#66
post #23
post #11

Earlier quoted context omitted.

Containers are not virtual. Containers aren't emulating anything or translating anything. They let your partition out system and network resources as you see fit (or to protect users from abusing each other) without running kernels within kernels and other performance killing hokum.

Indeed. One way you can use Docker in production[1] is one container per machine: even when you're not using the containers to split resources, the ability to snapshot and move an application and all of its dependencies in a single, lightweight, easily deployed package is very exciting. And because there's no translation etc. happening, running a single container is pretty much identical, performance-wise, to running…

Regarding your first footnote:

Is there an explanation why 'in production' is actively discouraged? Is that a limitation of the underlying lxc stuff?

I ask, because the interesting parts of docker _for me_ seem to be focused on the setup, deployment - and not the runtime. So if I create a working image and want to use that in production, wouldn't docker become passive as soon as I run that thing?

What's the danger here?

Re: How is Docker.io different from a normal virtual machine?

#67
post #11
post #7

Docker doesn't add a whole lot over what basic Linux containers (lxc and vserver) have offered for years. Having said that, the main benefit to Docker is a change in viewpoint from "virtual machine" to "application". Docker aims to make applications portably deployable to any Docker-machine. Since Docker uses lxc (aka Linux containers), it helps to understand a little how containers are different from other virtualiz…

Containers are not virtual. Containers aren't emulating anything or translating anything. They let your partition out system and network resources as you see fit (or to protect users from abusing each other) without running kernels within kernels and other performance killing hokum.

Containers are not virtual.

They belong to a category of virtualization known as 'container-based virtualization' which implements virtualized perspectives of the system within the host kernel, effectively dividing the system in to multiple systems (from the perspective of the affected processes). That is unquestionably virtualization.

I believe a statement closer to what you were looking to express was containers are not running under a hypervisor.

LXC still creates a performance impact, depending upon which options are selected, with particular note for the various memory accounting options. However, that impact is far lower than a hypervisor. In addition, startup times are vastly reduced since the kernel bootstrap and hardware detection concerns are rendered unnecessary.

Re: How is Docker.io different from a normal virtual machine?

#68

Earlier quoted context omitted.

Because almost no one around here uses FreeBSD it seems.

Some of us do, when appropriate. Docker took a technology known to many that setup/admin/manage machines, added some fluff, made things simpler, and marketed the idea. In a crowd that might spend more time thinking about nodejs and callbacks vs promises or how easily one can tip a rails app up on heroku, existing systems tools for things like jails/virtualization may either be over looked or not a concern. For every…

There's probably some fair value in making things simpler, not to mention value in marketing. If they can form a large community around it through their marketing, then the tooling will rapidly improve. So, the marketing can be a kind of self-fulfilling prophecy.

Re: How is Docker.io different from a normal virtual machine?

#69
I Would love to migrate 50+ KVM VMs to LXC-Containers, but there seem to be some problems left with security[1][2]. I cant wait to get my hands on Docker, but I lack the SELinux knowledge to secure everything the 'proper' way.

Is LXC (and therefore Docker) really ready for Production yet?

Edit: Formatting.

---

[1] http://mattoncloud.org/2012/07/16/are-lxc-containers-enough/

[2] https://blog.flameeyes.eu/2010/06/lxc-and-why-it-s-not-prime...

Re: How is Docker.io different from a normal virtual machine?

#70

Earlier quoted context omitted.

To be honest I've never worked out why Docker gets so much press. If you use the Ezjail utility to configure and manage FreeBSD jails you have been able to do most of the things Docker does for years (stacked fs using unionfs, templates/flavours, snapshots, export/import etc) and this seems like a much simpler and more stable solution. The networking stuff is also easy using pf.

There's also Solaris Containers, which leverages ZFS snapshots, etc.: http://en.wikipedia.org/wiki/Solaris_Containers Of course, Solaris is even more despised by some people since they changed hands. I think Docker appeals more to people, because: - It's on Linux, which is more popular than FreeBSD or Solaris. - It's very easy to set up and configure. - Integration with Puppet et al. - The have great marketing :).

Just a small reminder that you don't need to touch Solaris specifically. There's a heavily-developed OSS fork named illumos out there too. Some of illumos' distros are nicer than Solaris ever was.
Post reply on HN