Differences from virtualisation?
"Done properly, applications that are jailed cannot impinge upon the resources of other applications that reside in other jails, cannot see their storage and shouldn't even be aware that those other jails exist."
For a hypervisor, I could say:
"Done properly, operating systems that are virtualised cannot impinge upon the resources of other operating systems that reside in other virtual machines, cannot see their storage and shouldn't even be aware that those other virtual machines exist."
In the spirit of enquiry, how does a container differ from a "full fat" virtual machine?
I'm thinking of this from the point of view of the application - presumably each application "sees" a certain number of CPU cores, a certain amount of RAM, a certain amount of disk space and so on. That sounds a lot like a standard virtual machine to me. There must be a difference though.
Is it just that the containers share the RAM associated with the "parent" operating system, so there's some efficiency and performance gains, or are there some specific technical differences aside from performance?