Top Related Projects
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:
- Download the RancherOS ISO from the official repository.
- Create a bootable USB drive or virtual machine using the ISO.
- Boot into RancherOS and log in with the default credentials (username: rancher, password: rancher).
- 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"]
- Install RancherOS to disk:
sudo ros install -d /dev/sda
- 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
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 designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Development and Maintenance Status
RancherOS 1.x is no longer being actively maintained. There are two significant reasons behind this product decision:
- 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.
- 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
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.
Release
- v1.5.8 - Docker 19.03.15 - Linux 4.14.138
ISO
- https://releases.rancher.com/os/v1.5.8/rancheros.iso
- https://releases.rancher.com/os/v1.5.8/hyperv/rancheros.iso
- https://releases.rancher.com/os/v1.5.8/4glte/rancheros.iso
- https://releases.rancher.com/os/v1.5.8/vmware/rancheros.iso
Special docker-machine Links
- https://releases.rancher.com/os/v1.5.8/vmware/rancheros-autoformat.iso
- https://releases.rancher.com/os/v1.5.8/proxmoxve/rancheros-autoformat.iso
Additional Downloads
AMD64 Links
- https://releases.rancher.com/os/v1.5.8/initrd
- https://releases.rancher.com/os/v1.5.8/vmlinuz
- https://releases.rancher.com/os/v1.5.8/rancheros.ipxe
- https://releases.rancher.com/os/v1.5.8/rootfs.tar.gz
ARM64 Links
- https://releases.rancher.com/os/v1.5.8/arm64/initrd
- https://releases.rancher.com/os/v1.5.8/arm64/vmlinuz
- https://releases.rancher.com/os/v1.5.8/arm64/rootfs_arm64.tar.gz
- https://releases.rancher.com/os/v1.5.8/arm64/rancheros-raspberry-pi64.zip
Cloud Links
- https://releases.rancher.com/os/v1.5.8/rancheros-openstack.img
- https://releases.rancher.com/os/v1.5.8/rancheros-digitalocean.img
- https://releases.rancher.com/os/v1.5.8/rancheros-cloudstack.img
- https://releases.rancher.com/os/v1.5.8/rancheros-aliyun.vhd
- https://releases.rancher.com/os/v1.5.8/rancheros-gce.tar.gz
VMware Links
- https://releases.rancher.com/os/v1.5.8/vmware/initrd
- https://releases.rancher.com/os/v1.5.8/vmware/rancheros.vmdk
- https://releases.rancher.com/os/v1.5.8/vmware/rootfs.tar.gz
Hyper-V Links
- https://releases.rancher.com/os/v1.5.8/hyperv/initrd
- https://releases.rancher.com/os/v1.5.8/hyperv/rootfs.tar.gz
Proxmox VE Links
- https://releases.rancher.com/os/v1.5.8/proxmoxve/initrd
- https://releases.rancher.com/os/v1.5.8/proxmoxve/rootfs.tar.gz
4G-LTE Links
- https://releases.rancher.com/os/v1.5.8/4glte/initrd
- https://releases.rancher.com/os/v1.5.8/4glte/rootfs.tar.gz
Note:
- you can use
http
instead ofhttps
in the above URLs, e.g. for iPXE. - you can use
latest
instead ofv1.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
Region | Type | AMI |
---|---|---|
eu-north-1 | HVM | ami-08b189555c5d2d8c3 |
ap-south-1 | HVM | ami-0086964cb1ffc4fdb |
eu-west-3 | HVM | ami-088930cafc1ad9f20 |
eu-west-2 | HVM | ami-0fdf07cfd187af004 |
eu-west-1 | HVM | ami-0cea454c576ececbd |
ap-northeast-2 | HVM | ami-0fdb6555f88256d12 |
ap-northeast-1 | HVM | ami-052c75c3e8757bcd9 |
sa-east-1 | HVM | ami-04e51c9d1edad1bfd |
ca-central-1 | HVM | ami-006a1ff3bf21003b3 |
ap-southeast-1 | HVM | ami-03b14c67c74644c2b |
ap-southeast-2 | HVM | ami-07059c8f12411bfcb |
eu-central-1 | HVM | ami-0fc1a9332c246bc56 |
us-east-1 | HVM | ami-02fe87f853d560d52 |
us-east-2 | HVM | ami-004259f4c48585992 |
us-west-1 | HVM | ami-0b382b76fadc95544 |
us-west-2 | HVM | ami-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.
Top Related Projects
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
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot