linuxwindowsdockerlxcrunc

Does the OCF spec mean that Docker is no longer Linux centric?


When I first heard that Microsoft was working to run docker containers it didn't make sense.

For a while it seemed that Docker was Linux-centric, with its dependency on Linux Containers.

Now it seems Docker has switched from LXC to an implementation of the Open Containers Format (OCF) spec in runc.

My question is: Does the OCF spec mean that Docker is no longer Linux centric? (ie is that how this will work? Does that mean there exists the theoretical capability to do this on OSX as well?)


Solution

  • There are a few points of interest here.

    1. Containers can only be supported natively on platforms that have support for OS virtualization. OSX (so far) does not have such a capability. So it cannot support containers natively. You have to use a VM.
    2. A standardized container format does not mean that the same container will be able to run on different platforms. The container and the host necessarily have to run on the same kernel. So a particular container can only run on a compatible platform.
    3. What the standardized container format specification does is to enable richer container ecosystem technology from varied sources, all able to interwork because of the standard container format. This technology still has to be implemented for each different host platform.
    4. Docker's adoption of OCF does not necessarily mean that it will automatically start targeting platforms other than Linux. It just means that the container format it will use on Linux will be the OCF instead of it's own proprietary format.