As Docker continues to gain popularity, more and more minimalist operating systems are emerging to run the platform in production and at scale. Rancher Labs recently announced a new open-source operating system designed explicitly for Docker.
While Docker is able run on almost any Linux distribution, RancherOS was conceptualized out of the company’s own needs, according to Sheng Liang, founder and CEO of Rancher Labs.
“When we started Rancher as a company, we were developing the kind of tools and frameworks that are required to put Docker in production,” he said. “We were running Docker on these other distributions, but ran into things that weren’t satisfactory. We felt with Docker becoming so popular and so useful, it would make sense to build a Linux system specifically to run Docker.”
One of the problems Rancher Labs saw with other Linux distributions was that they weren’t able to keep up with Docker’s rapid release cycle. According to Liang, the Linux distributions were always behind in delivering the latest Docker update, forcing the company to manually install the latest release of the platform itself.
“I can’t even imagine how many times I ended up getting the latest update and then having to immediately go grab Docker myself from its website and override the operating system because its latest version of Docker wasn’t late enough for us,” Liang said. “We are on the cutting edge, and our customers are on the cutting edge, so we always want the latest stuff.”
Liang added that RancherOS solves this problem by limiting itself only to the Docker essentials: the Linux kernel, Docker and the smallest amount of code necessary to bring the two together. In addition, the RancherOS release schedule was designed to align with Docker’s release cycle.
Another problem RancherOS was designed to solve came from other Linux distributions was running systemd and Docker together. Systemd is a Linux system designed to manage system services. According to Liang, systemd and Docker possess an incompatibility issue, making it difficult for systemd to effectively monitor Docker containers. At first, the company created an open-source project called systemd-docker to try to solve the problem, but it couldn’t address all issues. With RancherOS, the company runs what it calls System Docker as the first process the kernel starts. System Docker replaces systemd and allows RancherOS to manage all system services as Docker containers.
“As a side benefit of that, we got rid of a lot of overlapping functionality and got rid of a lot of complexity,” said Liang.