Hi,
I'm planning to create a Docker container that runs the Pale Moon web browser using a Docker Ubuntu image. I don't have experience with Docker yet, but I watched a bunch of Docker introduction videos and glanced over some documents from the Oracle Linux featured content space. I still have a few questions about how Docker works.
My understanding is that a Docker image doesn't contain a Linux kernel. Anything that runs using the Docker image uses the host OS kernel. Apparently, this is accomplished by the Docker engine conveying the necessary OS system calls. Hence for this to work, the Docker container must be designed for the same type of kernel than the host OS.
Docker guarantees the environment. If a container works on one machine, then it can be transferred to another machine and will work the same way. What I don't understand:
Let's say I run a docker container based on Ubuntu 14.04, but the OS kernel is Oracle UEK. How can this still be Ubuntu? How do I know that the binaries and libraries in the Ubuntu 14.04 docker image are compatible with the kernel of the host OS? How can Docker guarantee compatibility? What if a container relies on system calls that the docker engine or the host OS does not provide?
Thanks!