Thanks to Docker and LinuxKit, Linux and open source are closer to conquering the world than ever—sort of. Here's how Docker hopes to use LinuxKit, a new Linux Foundation project, to sneak Linux into Windows servers, Mac laptops and even IoT devices.
Docker announced LinuxKit last month at DockerCon in Austin. LinuxKit is a set of tools for building a Linux subsystem that can run inside a container.
What that means in non-geek terms is that you can use LinuxKit to create a lean, customized Linux-based operating system that can boot inside a container. Your miniature Linux operating system can then host applications or services inside the same container.
Making Docker Platform-Agnostic
The reason this is a big deal is that it solves Docker's longstanding problem of not being compatible with operating systems other than Linux.
Since Docker's inception, Docker containers have required low-level functionality built into the Linux kernel in order to work. If you wanted to use Docker on a different operating system, you had to run Linux inside a virtual machine to provide the environment that could host Docker.
Docker and Microsoft eventually made it possible to run Docker containers on certain versions of Windows, too. But their functionality there was limited.
With LinuxKit, all of this changes. Because developers can use LinuxKit to build a Linux system into their containers, they can run those containers anywhere—on Windows, on macOS, on IoT devices and anywhere else they might like. Docker is using LinuxKit to achieve platform-agnosticism, which is an important step forward if the company wants to move beyond the Linux ecosystem.
Linux for Everyone
Thanks to Docker and LinuxKit, Linux-based operating systems are poised to go places they have never gone before. In the future, companies hosting workloads on Windows servers using Docker may well have Linux subsystems running, too. IoT devices powered by proprietary software may rely on Docker and a Linux subsystem to deliver applications and services.
In a way, then, LinuxKit is a major coup for Linux fans. It will push Linux into new spaces.
Yet there is a paradox: Most people won't know they're using Linux when they use a Linux subsystem to run a Docker container on an operating system other than Linux. The Linux subsystem will run in the background, and the work required to implement it would be completed by developers early in the development process.
In this respect, LinuxKit will have an effect similar to Linux-powered Web servers or the Android mobile operating system. In both cases, Linux (or, in Android's case, what you might call a fork of Linux) provides the backend needed to run the system. But most end-users remain oblivious to the fact that they are using Linux.
So, for open source fans, LinuxKit is a bittersweet innovation. It promises to bring Linux and open source to millions of devices that are otherwise powered only by proprietary software. But only the geeks will realize it.