Live data from Hacker News

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

stackoverflow.com

41–50 of 111 posts

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

#41
post #29

I always wanted to ask a question about docker, if the local devel machine is ubuntu 12.04, I can not deploy my docker image build to a 10.04 ubuntu server, right? (Unless you run a 12.04 virtual machine or something.)

The kernel version has to be the same.

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

#42
post #29

I always wanted to ask a question about docker, if the local devel machine is ubuntu 12.04, I can not deploy my docker image build to a 10.04 ubuntu server, right? (Unless you run a 12.04 virtual machine or something.)

The kernel version has to be the same.

No, it just has to be modern enough to support LXC/Docker.

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

#43

Earlier quoted context omitted.

You can actually do the same thing with LXC containers; it is trivial to rsync a snapshot or compressed archive of a snapshot to another host machine and run it there.

Anything not pro-docker usually gets downvoted by shykes and his ring of cronies.

There's definitely hype behind Docker, but this is a ridiculous accusation.

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

#44
post #29

I always wanted to ask a question about docker, if the local devel machine is ubuntu 12.04, I can not deploy my docker image build to a 10.04 ubuntu server, right? (Unless you run a 12.04 virtual machine or something.)

Yes you can do that, but it only supports 64bit operating systems at the moment and you need a kernel that supports linux containers & union file systems.

I doubt there are packages for 10.04 so you'd be on your own getting it working

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

#45
post #36
post #30

Earlier quoted context omitted.

> I really don't like giving up the isolation of modern hypervisors You don't have to! Think of docker as a unit of software delivery, rather than resource allocation. It's very common to use Docker to either a) deploy only trusted containers on the same machine, or b) deploy only 1 container per machine. There are also cases where linux cgroups and namespaces are an appropriate security mechanism (usually combined w…

How about OS patching? If I am running hundreds of different containers and I need to patch the OS (let's say upgrade the kernel or a driver), will I affect hundreds of applications at once? If so this will be a problem for several shops. How about built-in failover? On a virtualized environment you can run a cluster and the VM will move to another host in case of failure. Does docker support that? Is that what the d…

OS updates (updates to files inside containers) would be on a per-container basis.

Kernel upgrades would affect all of the containers running under that kernel (machine or VM) at the same time. Though, if you wanted to be super cautious, you could upgrade kernel on an empty container host (quite easy if virtualized) and migrate containers to it and test them on an individual basis.

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

#46
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.

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

#47
post #44
post #29

I always wanted to ask a question about docker, if the local devel machine is ubuntu 12.04, I can not deploy my docker image build to a 10.04 ubuntu server, right? (Unless you run a 12.04 virtual machine or something.)

Yes you can do that, but it only supports 64bit operating systems at the moment and you need a kernel that supports linux containers & union file systems. I doubt there are packages for 10.04 so you'd be on your own getting it working

There are no official images for Ubuntu 10.04, but you can create your own with:

    debootstrap lucid ./rootfs && tar -C ./rootfs -c . | docker import nl/ubuntu-lucid
You can then run 10.04 containers with:

    docker run -i -t nl/ubuntu-lucid bash

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

#48
post #28

I really don't like giving up the isolation of modern hypervisors, particularly those with Intel virtualization extensions. Docker (and LXC) seems like a huge step backwards for security. I'm sure there are use cases, but I'd never multi-tenant with it.

> Docker (and LXC) seems like a huge step backwards for security.

Sry but link says it all. No further comment from me: http://marc.info/?l=openbsd-misc&m=119318909016582&w=2

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

#49
post #43

Earlier quoted context omitted.

Anything not pro-docker usually gets downvoted by shykes and his ring of cronies.

There's definitely hype behind Docker, but this is a ridiculous accusation.

People do crazy things for money.

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

#50
One of the issues I found with contributing to open source is the time it takes to get a build environment up and running. Since different people face different kind of issues and projects usually lack an exhaustive documentation, I've always felt adding a light weight image of the build environment could help. I hope in future Docker or similar projects pave the way for it.
Post reply on HN