5 ms·
Linux containers and equivalent technologies are virtualisation (specifically OS virtualisation[1]), just not a VM. Hardware virtualisation (VMs) isn't the only
by cyphar 6y ago
Linux containers and equivalent technologies are virtualisation (specifically OS virtualisation[1]), just not a VM. Hardware virtualisation (VMs) isn't the only kind of virtualisation that exists.
[1]: https://en.wikipedia.org/wiki/Operating_system-level_virtualization https://en.wikipedia.org/wiki/Operating_system-level_virtual...
- cameronh90 6y agoBy that logic, processes are arguably virtualisation too. They do after all use virtual memory. Threads, processes and containers exist on a continuum.
- __jem 6y agoThe key is that "containers" don't actually exist -- they're just processes running under a variety of different namespaces.
- MaxBarraclough 6y agoIt's true that Docker isn't a first-class abstraction at the level of the Linux kernel, but BSD has jails, and Solaris has Zones. This is important in some respects, but I don't see that it informs things here. Containers are still 'a thing' regardless of how they're implemented.
- __jem 6y agoCurious to learn more about how jails + zones are implemented. In Linux land, I find the notion that containers are a coherent abstraction really hinders developers from understanding how their application is deployed.
- strlen 6y agoIndeed they are! The notion that each process has its separate address space is called virtual memory for that reason. See also cgroups: while this feature is used by the container run times, it predates Docker, and can be used standalone with normal processes.
- cameronh90 6y agoIndeed. I made a website for testing npm packages inside a cgroup/unshared "container" - about 6 months before docker came out. If only I had realised that could have been useful for more than testing npm packages...