Rancher Desktop

Rancher Desktop


Welcome to Rancher Desktop

Details
  • A modern, Kubernetes-native replacement for Docker Desktop
  • Rancher Desktop provides:
    • Container runtime (via containerd)
    • Kubernetes cluster (via k3s)
    • Open source and license-free
    • Local cloud-in-a-box: Build, run, push, and deploy
  • Rancher Desktop is part of SUSE’ Rancher: Enterprise Kubernetes Management Ecosystem.
Details
  • The goal of this lecture is to get you to become familiar with Rancher Desktop and its container operations.
  • This lecture uses hands-on activities that are similar to CSC468.
Rancher vs Docker Desktop
Feature Docker Desktop Rancher Desktop
Docker CLI Built-in Nerdctl (alias to Docker commands)
Kubernetes Optional, single-node Built-in K3s, enabled by default
Licensing Commercial for business Free, open-source
Registry login Native nerdctl login required
Resource control GUI GUI with YAML config
Details

Rancher Desktop is designed with Kubernetes in mind from day one


Setting Up Rancher Desktop

</details>

<summary>On Container Engine, select containerd</summary>

</details>

<summary>On Kubernetes, check Enable Kubernetes</summary>

</details>

1
2
docker version
kubectl version

Container runtimes

What is a container runtime?
  • A runtime is the low-level component responsible for managing container lifecycle: create, start, stop, and delete containers.
  • It sits below tools like Docker CLI or Kubernetes.
Common runtimes
Runtime Used By Notes
dockerd Docker CLI The original Docker daemon. Handles image builds, networks, volumes, and calls containerd internally for actual container execution.
containerd Docker (since v1.11+), Kubernetes A lightweight runtime daemon. Docker delegates runtime operations to containerd. Kubernetes uses it directly via the CRI.
cri-o OpenShift, Kubernetes A runtime that interfaces directly with Kubernetes, focusing only on running containers (no builds or volumes).
runc containerd, cri-o The actual binary that creates containers from OCI bundles. Very low-level.
How Docker uses dockerd and containerd
  • When you run docker run:
    • The Docker CLI talks to the dockerd daemon
    • dockerd builds images, manages networking, and oversees the container lifecycle
    • For actual execution, dockerd delegates container lifecycle tasks to containerd
    • containerd then uses runc to spawn the container
  • In modern Docker, containerd is embedded and managed by dockerd. You rarely see it unless you use advanced tooling.
What about Nix* systems?
  • NixOS / nixpkgs: use a purely functional package and system configuration model
  • While container runtimes like docker and containerd are supported in Nix-based systems, users often prefer reproducible builds via nix build, nix-shell, or nix develop
  • Containers on Nix:
    • You can build container images with nix and export them to Docker/OCI
    • Popular for CI/CD pipelines or reproducible scientific workflows
    • Nix is not a container runtime, but complements them by ensuring immutable container definitions
Details
  • Docker = monolith with features + embedded containerd.
  • Kubernetes = speaks directly to containerd or cri-o.

Kubernetes Readiness Check

1
2
kubectl get nodes
kubectl get pods -A

You’re ready for Week 2: Kubernetes deployments


Docker Practice


What’s Next

Details

Familiar tasks from Docker Desktop now live in Rancher, ready for Kubernetes.