In a recent post, The New Minimalist Operating Systems, I briefly described three new OSs designed with Docker in mind. I also mentioned Boot2Docker, which I considered to be the smallest (23MB) Docker-focused OS at the time. Less than two weeks later, a new tiny Docker OS has arrived: RancherOS. If you are interested in what makes these two very minimal OSs tick, read on.

They are both utilizing an ISOLINUX bootloader which loads a Linux kernel (~3MB) and an initial ramdisk (~20MB) into memory and then hands over control to the kernel. In a typical initrd scenario, the kernel executes /linuxrc from the ramdisk before /sbin/init from the main root filesystem on disk. Since we don’t have a separate root filesystem, everything (including Docker itself at ~15MB!) needs to fit within the ramdisk. If we look into the initrd images, we find that they are both based on Busybox, though this is where the similarities end.

Boot2Docker

In their own words,

“Boot2Docker is a lightweight Linux distribution made specifically to run Docker containers. It runs completely from RAM, is a small ~24MB download and boots in ~5s (YMMV). [ … ] Boot2Docker is currently designed and tuned for development. Using it for any kind of production workloads at this time is highly discouraged.” –https://github.com/boot2docker/boot2docker

Boot2Docker relies on Busybox to provide implementations of both a sysvinit-like init process and essential services such as ntpd. This is what you would expect to see from a tiny Busybox-based OS.

“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.” –http://rancher.com/rancher-os/

RancherOS replaces the Busybox init process with their own written in Go. This prepares some system mounts and then starts two Docker engines — one for critical services and another for user applications. The system-docker instance runs containerized versions of services instead of Busybox implementations, and the user interacts with the other docker instance. The end goal is to have a production-ready system that is composed of Docker containers for all components, whether critical system services or user applications.

RancherOS is still very much in an alpha state. The README is transparent about the current limitations and there are dozens of feature improvement issues to peruse. In other words, now is a great time to get involved in this unique project at an early stage and provide feedback, testing, and patches to help shape it.

Original URL: http://feedproxy.google.com/~r/feedsapi/BwPx/~3/HDvPbJc03hE/

Recent Posts: <CONTENT /> v.6

Lets have a look on what we have on this article: Setting up Apache 2 in Linux Subsystem for Windows 10 Setting up MySQL Server in Linux Subsystem for Windows 10 Setting up PHP in Linux Subsystem for Windows 10 Visual Studio Code and PHP Extensions Few tweaks to work on PHP, Visual Studio Code …

There are some good pointers and excellent tips in Web Development and Advanced Techniques with Linux on Windows (WSL) that are useful if you’re using WSL as part of your dev toolkit. Getting the same envs, including PATH, running across both systems is handy. It’s cool to be able to develop in Windows and test …

Virtually nowhere to be found were the 90 percent of lawyers who practice outside biglaw, the business clients who do not run mega-corporations, the access-to-justice community, or those disenfranchised from the legal system. — Five Days, Two Conferences, One Echo Chamber | LawSites https://www.lawsitesblog.com/2019/02/five-days-two-conferences-one-echo-chamber.html