Why docker has ability to run different linux distribution? [closed]

Because the kernel is the same.

The common point of all linux distributions, and why they are called linux, is because they all use the linux kernel.

Containers share the same kernel as the host, that’s why you can run an Arch image on a Ubuntu host.

Here’s an overview of Linux.

The kernel is a part of the operating system that handles communication with the hardware. It’s the lowest level of the operating system. Here is a list of the main functions of the kernel:

  • memory management
  • network management
  • device driver
  • file management
  • process management

So when you use a container you only have access to the kernel of the host, since it’s the only part that communicates with hardware, as long as your OS uses the good syscall, you are able to run any linux distribution inside your container. (This is the reason you can’t use Windows inside a container: it’s not using the same syscall).

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)