Richard
Richard

Reputation: 10628

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

I'm not certain that I'm asking the right question... but while I have been reading everything docker that I can get my hands on I see that I can install Docker on Ubuntu 12.04 (for example) and then I can install a Fedora container or a different version of ubuntu? (there is an example where the user installed busybox in the container.)

And of course I could be completely wrong.

But it would be my expectation that there was a ephemeral connection between the base system and the container.

restated: what is the relationship between the host OS and the container base image's OS?

Upvotes: 139

Views: 37166

Answers (3)

flow2k
flow2k

Reputation: 4347

There is another consideration - even if the both kernels are the same, there is a problem if the host OS does not support Docker, like RHEL 6: https://access.redhat.com/solutions/1378023

So you won't be able to spin up a container on RHEL 6, even if the image is a Linux one.

Upvotes: 1

creack
creack

Reputation: 121442

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.

Upvotes: 111

BraveNewCurrency
BraveNewCurrency

Reputation: 13065

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

Upvotes: 28

Related Questions