Rancher OS 是生产规模中运行 Docker 最小,最简单的方式。RancherOS 的所有东西都作为 Docker 管理的容器。这些系统服务包括 udev 和 rsyslog。RancherOS 仅仅包括最少运行 Docker 所需要的软件,所以 RancherOS 的二进制下载包只有大约 20MB。所有东西都能通过 Docker 动态拉取。
RancherOS 最初的目的是构建最小化的 Linux 发行版,可以完美运行 Docker 容器。RancherOS 最初希望能直接在 Linux Kernel 上运行 Docker,把所有用户空间 Linux 服务分发为 Docker 容器。通过这个,RancherOS 就不需要使用一个独立的软件包分发机制。
RancherOS 中 Docker 守护进程作为 PID 1 运行,内核启动的第一进程。我们称这个 Docker 实例为 “System Docker” ,作为初始化系统服务的响应,例如 udev,DHCP 和工作台。在其他的 Linux 发行版中,System Docker 作为初始化系统,类似 sysvinit 或是 systemd。System Docker 把所有的系统服务作为 Docker 容器管理。
System Docker 创建一个特别的系统服务容器,称为 User Docker。User Docker 运行一个独立的 Docker 守护进程。