I just read the excellent SO question asking "What is the difference between Docker and a VM?". However, the accepted answer left me wanting just a wee bit more.
I sort of understand a container (Docker/LXC - I don't get the difference) to use something called libcontainer
and AuFS so that dozens, hundreds, even thousands of containers can share the same CPU, RAM and disk resources. But, the answer still doesn't explain exactly what a "container" is!
Is a container just an instance of this libcontainer
running? Is it an application that uses libcontainer
? Is it something Linuxy like a service/daemon process? So I ask:
- What exactly is a "container"?
- What are the exact computing/system resources multiple containers can share inside the same VM/physical?
- Is Docker/LXC the "hypervisor" in the container equation? If not, what is the relationship between Docker, LXC and
libcontainer
?