Comment by shrikrishna

13 years ago

Think about it as a very lightweight VM. You can do everything you can in a VM (which, in turn, can do everything you can in your regular system). Only thing is, it is a wrapper over lxc (Linux Containers) which means that you can only run Linux flavors and the host needs to have an advanced kernel (~3.8). Advantage is that if a VM needs ~80s to boot, a docker container can boot in <2s. And that's possible because a docker container shares the kernel of the host, (unlike VMs, which are all isolated)

Oh, so it's not only a deployment mechanism, but an actual runtime "VM".

What does it add over linux containers?

  • Linux containers are its main ingredient. Docker itself provides a system for constructing the container images (with a neat super-fast caching/inheritance system that can pull from a central image repository), and manages the lifecycle of the containers. It also does some magic with ports and service discovery.

  • Technically - Creation, management, communication, networking. Smartly.

    Ecosystem - more and more people every day are integrating with their tools, building business around Docker, or extending support of existing business to Docker.