Flatcar Container Linux Documentation

Welcome to Flatcar Container Linux documentation

Getting Started

Flatcar Container Linux runs on most cloud providers, virtualization platforms and bare metal servers. Running a local VM on your laptop is a great dev environment. Following the Quick Start guide is the fastest way to get set up.

Ignition is the recommended way to provision Flatcar Container Linux at first boot. Ignition uses a JSON configuration file, and it is recommended to generate it from the Container Linux Config YAML format, which has additional features. The Container Linux Config Transpiler converts a Container Linux Config to an Ignition config.

Provisioning Cloud Providers
Using Ignition and Container Linux Config Amazon EC2
Ignition vs coreos-cloudinit, Boot Process DigitalOcean
Ignition Network Config Google Compute Engine
Container Linux Config Transpiler Microsoft Azure
CL Config Dynamic Metadata, Ignition Dynamic Metadata Packet
CL ct, CL Config Examples QEMU, libVirt, VirtualBox¹, Vagrant¹
CL Config Spec, CL Config Notes VMware

¹ These platforms are not officially supported and releases are not tested.

Bare Metal Upgrading from CoreOS Container Linux
Using Matchbox Migrate from CoreOS Container Linux
Booting with iPXE Update from CoreOS Container Linux directly.
Booting with PXE
Installing to Disk
Booting from ISO
Root filesystem placement

Working with Clusters

Follow these guides to connect your machines together as a cluster. Configure machine parameters, create users, inject multiple SSH keys, and more with Container Linux Config.

Creating Clusters Customizing Clusters
Cluster architectures Using networkd to customize networking
Update strategies Using systemd drop-in units
Clustering machines Using environment variables in systemd units
Verify Flatcar Container Linux Images with GPG Configuring DNS
Configuring date & timezone
Adding users
Kernel modules / sysctl parameters
Managing Clusters Scaling Clusters
Registry authentication Adding disk space
iSCSI configuration Mounting storage
Adding swap Power management
Amazon EC2 Container Service
Using systemd to manage Docker containers
Using systemd and udev rules
Switching release channels
Scheduling tasks with systemd
Securing Clusters Debugging Clusters
Customizing the SSH daemon Install debugging tools
Configuring SSSD on Flatcar Container Linux Working with btrfs
Hardening a Flatcar Container Linux machine Reading the system log
Trusted Computing Hardware Requirements Collecting crash logs
Adding Cert Authorities Manual Flatcar Container Linux rollbacks
Using SELinux
Disabling SMT

Container Runtimes

Flatcar Container Linux supports all of the popular methods for running containers, and you can choose to interact with the containers at a low-level, or use a higher level orchestration framework. Listed below are your options from the highest level abstraction down to the lowest level, the container runtime.

Getting started with Docker
Customizing Docker


APIs and troubleshooting guides for working with Flatcar Container Linux.

Developer guides


Migrating from cloud-config to Container Linux Config