RancherOS

A minimalist distribution of Linux designed from the ground up to run Docker containers.

tiny-docker

Built on Docker

When we started the RancherOS project, we set out to build a minimalist Linux distribution that was perfect for running Docker containers. We wanted to run Docker directly on top of the Linux Kernel, and have all user-space Linux services be distributed as Docker containers. By doing this, there would be no need to use a separate software package distribution mechanism for RancherOS itself.

An OS made of Containers

In RancherOS, the Docker daemon runs as PID 1, the first process the kernel starts. We call this instance of Docker “System Docker,” as it is responsible for initiating system services, such as udev, DHCP and the console. System Docker takes the place of the init system, such as sysvinit or systemd, in other Linux distributions. System Docker manages all of the system services as Docker containers.

System Docker creates a special system service container called User Docker. A separate Docker daemon runs in the User Docker container. Because all user containers run nested inside the User Docker container, deleting all user containers, for example, will not bring down the system containers running RancherOS services.

product1

Latest Docker

Because Docker technology is going through rapid development, it is helpful to keep up with the most current Docker releases in order to access the latest features and bug fixes. Most Linux distributions do not include an up-to-date version of Docker. RancherOS, on the other hand, is designed for the sole purpose of running Docker containers, so it always includes the latest Docker features and bug fixes as soon as they become available.

Eliminates need for complex init systems

RancherOS eliminates the need for complex init systems like systemd. Systemd and Docker don’t work well together as they both attempt to manage control groups. Using a simple configuration file, administrators can easily configure system services as Docker containers.

Simple to extend

Additional system services can easily be run on RancherOS as system containers. The user can easily configure RancherOS to launch a customized console container to deliver the experience of Ubuntu, CentOS, or Fedora distributions.

Ideal for Production

At 20MB, RancherOS is two orders of magnitude smaller than a typical Linux distribution, and an order of magnitude smaller than even other minimalist Linux distributions. Small distribution results in smaller trusted code base and better security. RancherOS achieves minimal size because it runs everything as Docker containers.

The small size of RancherOS has a number of advantages, including lightning fast boot times, easy portability and support for disk constrained use cases, such as embedded systems and IOT devices.

Because of its small footprint, RancherOS has fewer systems to monitor for security vulnerabilities. This means fewer patches, and increased stability for production workloads.

Simple Updates and Rollbacks

RancherOS leverages the extremely powerful Docker packaging and distribution support to deliver updates and features of the operating system. All system services are delivered as Docker containers, and while the kernel and initial ram disk are not Docker containers, we use Docker packaging and distribution to deliver kernel and ram disk update as well.

Manageability

Traditional Linux distributions are primarily designed for administrators to operate manually. RancherOS, on the other hand, is designed from the ground up to leverage the Docker API and host sophisticated management agents so they can be managed at large scale in production by container management platforms like Rancher.

Want to learn more?

Register now for an online meetup on March 31st:
“Getting Started with RancherOS”

Register Now!

Getting Started


Download


Github


Discussion