What is the relationship between the docker host OS and the container base image OS?

As mentioned by BraveNewCurrency, the only relationship between the host OS and the container is the Kernel.

It is one of the main difference between docker and 'regular' virtual machines, there is no overhead, everything takes place directly within the host's kernel.

This is why you can run only Linux based distribution/binaries within the container. If you want to run something else, it is not impossible, but you would need some kind of virtualization within the container (qemu, kvm, etc.)

Docker manage images that are the file system representation. You can install any linux distribution or simply put binaries.

Indeed, for the convenience of the example, we often rely on the base images, but you could also create your image without any of the distribution libraries/binaries. That way you would have a really tiny yet functional container.

One more point regarding the distributions: as the kernel is still the kernel of the host, you will not have any specific kernel module/patches provided by the distribution.


Literally, the only thing they have in common is the kernel. Their whole world (file system) is in the docker container.

Tags:

Docker