Are you looking for a Linux operating system optimized for running containers with minimal footprints, fast boot times, and a focus on security and stability?
In this guide, we will review the top lightweight or minimal GNU/Linux distributions to use, either as a base image for creating containers or running containerized workloads in production.
Table of Contents
1. Alpine Linux
Arguably the most used of them all, Alpine Linux is a lightweight, simple, and security-oriented Linux distribution, which is built around musl libc and busybox thus making it small and very resource efficient.
It requires not more than 8 MB when deployed in a container and a minimal installation on disk requires close to 130 MB of storage. With Alpine Linux, you will not only get a fully-fledged Linux environment but a large selection of packages from the default repository.
Alpine Linux uses its package manager called apk (alpine package keeper), the OpenRC init system, as well as script-driven set-ups.
2. Fedora CoreOS
Fedora CoreOS is a relatively new Fedora edition, that came from merging two projects: CoreOS Inc’s Container Linux and Project Atomic’s Atomic Host. It is a minimal, monolithic, container-focused, and “automatically updating” operating system.
Designed for clusters, it is also operable as a standalone, and optimized for Kubernetes but works just fine without it. Fedora CoreOS is cloud-native and container-focused and features automated updates, multiple update streams, automated provisioning, OS versioning, and security.
Intended to provide the best container host to run containerized workloads securely and at scale, Fedora CoreOS is based on the best parts of CoreOS Container Linux and Atomic Host, merging features and tools from both. It integrates technologies such as Ignition from Container Linux with rpm-ostree and SELinux hardening from Project Atomic.
3. RancherOS [Discontinued]
RancherOS is the small, Docker-focused operating system for running Docker in production. In RancherOS, every process (including system services such as udev and syslog), is a container managed by Docker.
RancherOS is lightweight because it only ships with the services necessary to run Docker and removes unnecessary system libraries and services because, with Docker, users typically package all necessary libraries into their containers. Additionally, requirements for security patches and other maintenance are also reduced.
Besides, RancherOS is designed specifically for running Docker because it offers the latest version of Docker, thus allowing users to take advantage of the latest Docker capabilities and bug fixes.
4. Photon OS
Photon OS is a free, open-source, minimalist, and security-hardened Linux operating system from VMware, which is a Linux container host optimized for cloud computing platforms such as Amazon Elastic Compute and Google Compute Engine, VMware vSphere deployments, and cloud-native applications.
It is lightweight and extensible and works with the most common container formats, including Docker, Rocket, and Garden. It ships with the Docker daemon and works with container orchestration frameworks, such as Kubernetes and Mesos.
It also features a yum-compatible, package-based lifecycle management system called tdnf and Photon management daemon (pmd) used to manage, patch, and update the operating system. Its binaries are available as cloud images such as Amazon AMI, Google Cloud GCE image and Azure VHD, and other formats: ISO and OVA.
5. Ubuntu Core
Based on Ubuntu Linux, Ubuntu Core is a secure, application-centric embedded operating system. All its components are based on a container format known as snaps. At the time of writing, it supports container runtimes and orchestration tools such as snapd, Docker, LXD, Azure IoT Edge, AWS Greengrass, and Kubernetes.
It is enabled and is continuously tested on leading IoT and edge devices and hardware, with features such as agile containerization, OTA (Over The Air) Linux updates, secure boot, full disk encryption, recovery mode, validation sets, and remodeling.
6. Flatcar Container Linux
Designed from the ground up, Flatcar Container Linux is a community-driven, container-optimized Linux distribution that ships a minimal OS image, which only includes the necessary tools needed to run containerized workloads.
It features an immutable filesystem to eliminate some categories of security vulnerabilities, automatic atomic updates, and low maintenance. It is also designed to scale with minimal complexity.
Flatcar Container Linux runs on most virtualization platforms such as QEMU, libvirt, VirtualBox, Vagrant (the last two are not officially supported), and cloud providers including Amazon EC2, Google Compute Engine, Microsoft Azure, DigitalOcean, VMware, and OpenStack.
It is also installable on bare metal servers using ISO images, booting from PXE or iPXE, and via an installation script on an existing Linux system.
In this guide, we have reviewed the top five lightweight GNU/Linux distributions for creating container images or running containerized workloads in productions. Do you have any thoughts to share? If yes, use the feedback form below to reach us.