3 ms·
By that logic, processes are arguably virtualisation too. They do after all use virtual memory. Threads, processes and containers exist on a continuum.
by cameronh90 6y ago
By 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...