Convert Figma logo to code with AI

rancher logoos

Tiny Linux distro that runs the entire OS as Docker containers

6,451
657
6,451
457

Top Related Projects

6,409

Talos Linux is a modern Linux distribution built for Kubernetes.

A toolkit for building secure, portable and lean operating systems for containers

An operating system designed for hosting containers

Quick Overview

RancherOS is a lightweight, container-based operating system designed specifically for running Docker containers. It aims to provide a minimal OS environment that boots directly into Docker, making it ideal for container-centric deployments and cloud-native applications.

Pros

  • Extremely lightweight, with a small footprint and fast boot times
  • Built-in Docker support, allowing for easy container management
  • Simplified system architecture, reducing complexity and potential security vulnerabilities
  • Automatic updates and easy rollbacks for system components

Cons

  • Limited traditional OS functionality, which may not suit all use cases
  • Steeper learning curve for users accustomed to traditional Linux distributions
  • Smaller ecosystem and community compared to mainstream operating systems
  • May require additional configuration for certain hardware or specialized setups

Getting Started

To get started with RancherOS, follow these steps:

  1. Download the RancherOS ISO from the official repository.
  2. Create a bootable USB drive or virtual machine using the ISO.
  3. Boot into RancherOS and log in with the default credentials (username: rancher, password: rancher).
  4. Configure networking and other basic settings:
sudo ros config set rancher.network.interfaces.eth0.address 192.168.1.100/24
sudo ros config set rancher.network.interfaces.eth0.gateway 192.168.1.1
sudo ros config set rancher.network.dns.nameservers ["8.8.8.8","8.8.4.4"]
  1. Install RancherOS to disk:
sudo ros install -d /dev/sda
  1. Reboot the system and start using RancherOS with Docker:
docker run -d --name nginx -p 80:80 nginx

For more detailed instructions and advanced configurations, refer to the official RancherOS documentation.

Competitor Comparisons

6,409

Talos Linux is a modern Linux distribution built for Kubernetes.

Pros of Talos

  • Immutable and minimal OS design, enhancing security and reducing attack surface
  • Built-in support for Kubernetes, simplifying cluster setup and management
  • Advanced features like disk encryption and secure boot

Cons of Talos

  • Steeper learning curve due to its unique architecture
  • Less flexibility for general-purpose use cases compared to RancherOS

Code Comparison

Talos configuration (YAML):

machine:
  type: worker
  token: your-token-here
cluster:
  controlPlane:
    endpoint: https://1.2.3.4:6443

RancherOS configuration (cloud-config):

rancher:
  network:
    interfaces:
      eth0:
        address: 10.0.2.15/24
        gateway: 10.0.2.2

Both systems use YAML for configuration, but Talos focuses on Kubernetes-specific settings, while RancherOS offers more general system configuration options.

Talos is designed specifically for running Kubernetes clusters, providing a more specialized and secure environment. RancherOS offers a more traditional container-based approach, allowing for greater flexibility in non-Kubernetes use cases. The choice between them depends on specific project requirements and the level of Kubernetes integration needed.

A toolkit for building secure, portable and lean operating systems for containers

Pros of LinuxKit

  • More flexible and modular architecture, allowing for customized, minimal OS builds
  • Better support for containerized applications and microservices
  • Stronger focus on security with immutable infrastructure principles

Cons of LinuxKit

  • Steeper learning curve due to its modular nature
  • Less out-of-the-box functionality compared to RancherOS
  • Requires more manual configuration for specific use cases

Code Comparison

RancherOS:

rancher:
  network:
    interfaces:
      eth0:
        address: 192.168.1.100/24
        gateway: 192.168.1.1

LinuxKit:

kernel:
  image: linuxkit/kernel:5.10.104
  cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
  - linuxkit/init:14df799bb3b9e0eb0491da9fda7f32a108a2e2a5
  - linuxkit/runc:436357ce16dd663e24f595bcec26d5ae476c998e

The code snippets showcase the different approaches to configuration. RancherOS uses a more straightforward YAML structure for network configuration, while LinuxKit's YAML file demonstrates its modular nature, allowing for fine-grained control over kernel and init components.

An operating system designed for hosting containers

Pros of Bottlerocket

  • Designed specifically for running containers, with a minimal attack surface
  • Transactional updates for improved reliability and rollback capabilities
  • Backed by AWS, potentially offering better integration with AWS services

Cons of Bottlerocket

  • Less flexible than RancherOS, with a more opinionated design
  • Newer project with a smaller community and ecosystem
  • Limited to x86_64 and ARM64 architectures

Code Comparison

RancherOS:

rancher:
  network:
    interfaces:
      eth0:
        address: 10.0.2.15/24
        gateway: 10.0.2.2

Bottlerocket:

[settings.host-containers.admin]
enabled = true
superpowered = true

[settings.network]
hostname = "bottlerocket-example"

Summary

Both RancherOS and Bottlerocket are container-optimized operating systems, but they take different approaches. RancherOS offers more flexibility and a Docker-centric design, while Bottlerocket focuses on security, reliability, and AWS integration. RancherOS may be better suited for users who need more control and customization, while Bottlerocket could be preferable for those prioritizing security and seamless updates in AWS environments.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Development and Maintenance Status

RancherOS 1.x is no longer being actively maintained. There are two significant reasons behind this product decision:

  1. Docker - The current industry requirements for a container runtime are very much evolving. Container runtimes like containerd and CRIO are now being actively considered as the default choice. RancherOS 1.x, which was specifically designed around using Docker engine only, unfortunately does not lend itself, in its current design, to this new evolving requirement.
  2. ISV Support - RancherOS was specifically designed as a minimalistic OS to support purpose-built containerized applications. It was not designed to be used as a general purpose OS (such as CentOS or Ubuntu). As such, most ISVs have not certified their software to run on RancherOS, nor does RancherOS even contain the necessary components for many of these applications to run.

We're working on a replacement. Stay tuned!

RancherOS

Build Status Docker Pulls Go Report Card

The smallest, easiest way to run Docker in production at scale. Everything in RancherOS is a container managed by Docker. This includes system services such as udev and rsyslog. RancherOS includes only the bare minimum amount of software needed to run Docker. This keeps the binary download of RancherOS very small. Everything else can be pulled in dynamically through Docker.

How this works

Everything in RancherOS is a Docker container. We accomplish this by launching two instances of Docker. One is what we call the system Docker which runs as the first process. System Docker then launches a container that runs the user Docker. The user Docker is then the instance that gets primarily used to create containers. We created this separation because it seemed logical and also it would really be bad if somebody did docker rm -f $(docker ps -qa) and deleted the entire OS.

How it works

Release

  • v1.5.8 - Docker 19.03.15 - Linux 4.14.138

ISO

Special docker-machine Links

Additional Downloads

AMD64 Links

ARM64 Links

Cloud Links

VMware Links

Hyper-V Links

Proxmox VE Links

4G-LTE Links

Note:

  1. you can use http instead of https in the above URLs, e.g. for iPXE.
  2. you can use latest instead of v1.5.8 in the above URLs if you want to get the latest version.

Amazon

SSH keys are added to the rancher user, so you must log in using the rancher user.

HVM

RegionTypeAMI
eu-north-1HVMami-08b189555c5d2d8c3
ap-south-1HVMami-0086964cb1ffc4fdb
eu-west-3HVMami-088930cafc1ad9f20
eu-west-2HVMami-0fdf07cfd187af004
eu-west-1HVMami-0cea454c576ececbd
ap-northeast-2HVMami-0fdb6555f88256d12
ap-northeast-1HVMami-052c75c3e8757bcd9
sa-east-1HVMami-04e51c9d1edad1bfd
ca-central-1HVMami-006a1ff3bf21003b3
ap-southeast-1HVMami-03b14c67c74644c2b
ap-southeast-2HVMami-07059c8f12411bfcb
eu-central-1HVMami-0fc1a9332c246bc56
us-east-1HVMami-02fe87f853d560d52
us-east-2HVMami-004259f4c48585992
us-west-1HVMami-0b382b76fadc95544
us-west-2HVMami-0cdefa6a0646eb511

Additionally, images are available with support for Amazon EC2 Container Service (ECS) here.

Azure

You can get RancherOS in the Azure Marketplace, currently only the rancher user can be logged in through SSH keys.

Documentation for RancherOS

Please refer to our RancherOS Documentation website to read all about RancherOS. It has detailed information on how RancherOS works, getting-started and other details.

Support, Discussion, and Community

If you need any help with RancherOS or Rancher, please join us at either our Rancher forums or #rancher IRC channel where most of our team hangs out at.

For security issues, please email security@rancher.com instead of posting a public issue in GitHub. You may (but are not required to) use the GPG key located on Keybase.

Please submit any RancherOS bugs, issues, and feature requests to rancher/os.

Please submit any Rancher bugs, issues, and feature requests to rancher/rancher.

License

Copyright (c) 2014-2020 Rancher Labs, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.