assets | ||
cmd | ||
config | ||
docker | ||
docs | ||
Godeps | ||
init | ||
scripts | ||
util | ||
.dockerignore | ||
.drone.yml | ||
.gitignore | ||
.package | ||
.wrap-docker-args | ||
build.sh | ||
main.go | ||
README.md |
RancherOS
It's containers all the way down! Everything is powered by Docker (I mean everything).
Building
Docker 1.5+ required.
./build.sh
Running
KVM, VirtualBox, and VMware all supported (Clouds and Vagrant coming soon). Just
boot from the rancheros.iso
from the releases page.
Logging in
Log in with rancher/rancher and use sudo
to get root access.
Once cloud-init integration is finished we will not need to hard code the password anymore.
Persisting State
Create a partition with the label RANCHER_STATE
, for example
mkfs.ext4 -L RANCHER_STATE /dev/sda
Configuring
The entire state of RancherOS is controlled by a single configuration document.
You can edit the configuration with the rancherctl config
command.
Commands
docker
-- Good old Docker, use that to run stuff.
system-docker
-- The docker instance running the system containers. Must run as root
rancherctl
-- Control and configure RancherOS
How does this work
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 PID 1. System Docker then launches
a container that runs the user Docker. We created this separation as is really seemed like a
bad idea that if somebody did docker rm -f $(docker ps -qa)
they would delete the entire OS.