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.
CoreOS, another minimalist operating system with the ability to run Docker as containers, recently released Rocket in order to make systemd a more effect container runtime. But according to Rancher Labs, Rocket doesn’t solve or improve interoperability between systemd and Docker.
“CoreOS is a big inspiration for us to create a minimalist Linux distribution,” Liang said. “They were really the first guys to start doing it in recent times, and we had a lot of experience using CoreOS as well, but it doesn’t solve the issue we needed to solve. We created RancherOS to specifically solve systemd and Docker, and CoreOS is really just built around systemd.”
In addition to CoreOS and RancherOS, other operating systems have been designed to host Docker applications and simplify infrastructure, such as Project Atomic and Snappy Ubuntu Core. Docker welcomed these technologies as they on increased stability and security, according to Peter Salvatore, a member of the technical alliances team at Docker.
“If you are looking for the right foundation for your Docker-based infrastructure, there are a lot of great choices,” he wrote on the company’s blog. “The new minimalist operating systems discussed above represent a major departure from the past and are also worth further investigation.”
RancherOS is still in early development, and the company is already working on incorporating new features based on recent feedback from developers.
“When we initially designed it, we thought maybe most people would run it in a cloud or run it on a hypervisor,” said Liang. “But there has actually been a lot of interest from people who really want to run it on bare metal machines. That is actually one feature we didn’t initially prioritize very much, but it looks now that it should be in the initial production release.”
The company is also working on adding better integration with security features in Linux, as well as richer ways to configure networking.
“We welcome RancherOS as a new addition to the minimalist OS ecosystem that is sprouting up around Docker,” said David Messina, vice president of enterprise marketing at Docker. “The idea of the Docker open platform for distributed applications is to make sure there is great choice for devs and sys admins, and what RancherOS is doing is furthering choice of OS offerings.”
More information about RancherOS is available here.