Flatcar Container Linux
A minimal, immutable Linux distribution for running containers, with an A/B partition layout and automatic atomic updates.
- Category: Runtime
- CNCF maturity: Incubating
- Language: Shell and Python
- License: BSD-3-Clause (the
scriptsrepository) - Repository: flatcar/scripts
- Documented at commit:
d2c217c(branchmain, June 2026)
What it is
Flatcar Container Linux is an operating system built to do one job: run containers. There is no package manager on the running host. The /usr filesystem is mounted read-only and protected by dm-verity, and the OS ships as a whole image rather than a set of installable packages.
Updates are atomic. A new image is written to a second /usr partition while the system runs from the first, and a reboot swaps them. If the new image fails to boot, the bootloader falls back to the previous one. This is the same model CoreOS Container Linux introduced; Flatcar is the maintained continuation of that lineage.
The implementation lives in flatcar/scripts, a Gentoo/Portage-based build system that emerges pre-built binary packages into a root filesystem and bakes it into a GPT image. The umbrella repository flatcar/Flatcar holds documentation, governance, and the issue tracker.
When to use it
- You run Kubernetes or plain container workloads and want the host OS to be a managed, replaceable unit rather than a server you patch in place.
- You need the same OS across multiple clouds and bare metal, configured declaratively at first boot with Ignition.
- You want automatic updates with rollback, and a conservative release cadence that avoids breaking running containers.
- You want to keep SSH and Docker compatibility for debugging, rather than a fully API-only host.
It is a poor fit when you need to install arbitrary system packages on the running host, or when a single-cloud appliance OS already covers your whole fleet.
In this deep-dive
- History: origin, milestones, and why it exists.
- Architecture: components and how an image is built.
- Adoption & Ecosystem: who runs it and what surrounds it.
- Internals: the code paths that matter, read from source.
- Getting Started: install and a first working setup.
Sources
- flatcar/scripts, the image build and composition scripts (pinned commit
d2c217c). - Flatcar brings Container Linux to the CNCF Incubator, CNCF blog.
- Flatcar Container Linux project page, CNCF.
- Flatcar accepted into CNCF at incubating level, Microsoft Open Source.
- Propose Flatcar for Incubation, cncf/toc PR #991.
- flatcar/Flatcar ADOPTERS.md.
- Flatcar Container Linux enters new era after CoreOS End-of-Life, Kinvolk.
- Microsoft acquires Kinvolk, Azure blog.