Why do we need Docker, virtualization technologies?
Because popular kernels are bulky, badly designed and don't provide the virtualization facilities we need.

I think a proper OS kernel should at least have these properties:

1) An OS kernel must not have any driver code for external devices. External devices should describe themselves.

2) An OS kernel source code line count must be in thousands, not millions. Only absolutely necessary code should be there. (isolation, protection...)

3) An OS kernel must provide its isolation, protection, resource management etc. source code as reusable libraries for user-level applications.

@armagan1 That's been a popular theory since the 1980s, but hasn't worked that well in practice.

@vy

I think, with all the knowledge and experiences we accumulated, we can achieve it now.

@armagan1 I think the whole argument is based on confusing mechanism for policy and poor analysis of interaction of these components - which is necessarily more complex than people think