Artboard 1

A container-focused OS that's designed for painless management in large clusters

These docs should cover the entire lifecycle of your CoreOS Container Linux machines. Anyone can submit changes to these docs via GitHub. For more in-depth support, jumping into #coreos on IRC, emailing the dev list or filing a bug are recommended.

Running Container Linux

CoreOS 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.

Cluster Management

Follow these guides to connect your machines together as a cluster. Configure machine parameters, create users, inject multiple SSH keys and more with cloud-config. Providing a discovery token via cloud-config is the easiest way to get a cluster set up.

Launching Containers

CoreOS 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.

Cluster Orchestration

Kubernetes is powerful container management software inspired by Google’s operational experience with containers. Essential features like service discovery, automatic load-balancing, container replication and more are built in. Plus, it’s all powered via an HTTP API.

If you already have Docker containers that you'd like to launch and load balance, Kubernetes is the best way to run them.

Low Level Service Orchestration

fleet is a low-level cluster scheduler designed to allow you to treat a cluster of machines as if they shared a single init system. fleet is oriented around systemd units which serve as a foundation for higher order orchestration, such as Kubernetes. To launch containers with fleet, your Docker or rkt run command is included into a systemd unit. Launching multiple containers is as simple as managing that many systemd unit files.

Container Runtimes

Linux containers provide numerous benefits for both application developers and operations teams. CoreOS Linux only allows for software to be installed as containers, which is an important abstraction layer between the operating system and the applications (and dependencies) running on top.

Developer SDK

Most users will never have to build CoreOS from source or modify it in any way. If you have a need to modify CoreOS, we provide an SDK that allows you to build your own developer images. We also provide OEM functionality for cloud providers and other companies that need to customize CoreOS to run within their environment.