Materials by Ivan Velichko

Ivan Velichko has published 19 tutorials, 182 challenges, 4 courses, 12 skill paths, and 5 shell gyms, and prepared 8 playgrounds.

Featured

Tutorial on Linux

How Container Filesystem Works: Building a Docker-like Container From Scratch

Learn how Linux containers are built from the ground up. Starting with the mount namespace and a root filesystem, see why PID, cgroup, UTS, and network namespaces naturally follow - and how this foundation makes concepts like bind mounts, volumes, and persistence in Docker or Kubernetes much easier to grasp.

#container-runtime#docker#container-rootfs
Tutorial on Containers

How Container Networking Works: Building a Bridge Network From Scratch

Begin with the basics to understand Docker and Kubernetes networking: learn how to create and interconnect Linux network namespaces using only command-line tools.

#container-networking#netns#bridge
Tutorial on Containers

How Container Images Actually Work: Layers, Configs, Manifests, Indexes, and More

A practical deep dive into container image internals that will help you build a clear mental model of how images are composed, identified, stored, and distributed across registries.

#container-image#oci-image#docker
Course on Networking

Computer Networking Fundamentals For Developers, DevOps, and Platform Engineers

A heavily illustrated introduction to the first two layers of Computer Networking: Ethernet and IP. A must for any developer or DevOps engineer who wants to build solid understanding of computer networking before they move to the higher-level protocols like TCP, UDP, and even HTTP.

#ethernet#ip#switch
Shell Gym on Linux

Linux 101: Meet the Linux Shell

Your first hands-on session in a Linux terminal. Practice running commands, reading their output, using arguments and options, checking whether commands succeed or fail, and chaining commands together. No prior Linux experience is required.

#shell#bash#linux-101
Challenge on Kubernetes

Deploy a Resource-Greedy Pod Without Breaking the Kubernetes Cluster

Prove your SRE skills - deploy a resource-greedy application to a Kubernetes cluster and make it run for a while without disrupting the service.

#kubernetes-101#pod-resources#cgroupsEasy

All materials

Tutorial

How Container Registries Work: Pushing and Pulling Images By Hand

Container registries look simple until you need to debug what was actually pushed, why a pull picked the wrong image, or why deleting a tag didn't remove anything. Learn how registries work by pushing, pulling, inspecting, and deleting image data directly through the Registry API.

How Container Registries Work: Pushing and Pulling Images By Hand (cover image)
See all tutorials by Ivan Velichko →
Challenge

Turn Off a Feature Flag in a Production Redis Server Using a Local Containerized redis-cli

Ad-hoc containers are a handy way to run command-line tools without installing them on the host. Use one to access a production Redis server and turn off a feature flag. But beware of the gotcha: the production server can only be tunneled to the localhost.

Challenge

Docker 101: Publish a Redis Container Port on the Private Network Only

A common setup for small deployments: two servers (VM or bare-metal), each with a public and a private IP. The app listens on the public port but wants to talk to Redis over the private network. Can you set it up?

See all challenges by Ivan Velichko →
Course
Work-in-Progress

Hands-On Firecracker: microVMs From First Principles to Production

A hands-on introduction to Firecracker that takes you from booting your first microVM to building secure, production-ready sandbox infrastructure. Learn how to launch and control microVMs, wire up networking, share data efficiently, and harden execution - the essential skills for running autonomous agents and untrusted workloads safely at scale.

Hands-On Firecracker: microVMs From First Principles to Production (cover image)
See all courses by Ivan Velichko →
Shell Gym

Linux 101: Meet the Linux Shell

Your first hands-on session in a Linux terminal. Practice running commands, reading their output, using arguments and options, checking whether commands succeed or fail, and chaining commands together. No prior Linux experience is required.

See all shell gyms by Ivan Velichko →
Skill Path

Master SSH Tunnels: Local and Remote Port Forwarding

Learn how to reach an internal port on a remote machine from the local system, jump through a bastion into a private VPC, expose a development server to the Internet through a reverse tunnel, publish a home network device, and spin up a full-fledged SOCKS proxy with nothing but a regular SSH connection.

Skill Path

Docker 101: Pull and Push Container Images

Learn how to move container images between your machine and container registries. Practice pulling images by tag, digest, and platform; tagging and pushing them to public and private registries; mirroring images across repositories; shipping images into air-gapped environments; and publishing multi-platform images.

Skill Path

Docker 101: Build Container Images

Learn how to write Dockerfiles from scratch and build production-ready container images. Start with the basics of image building and progress through handling dependencies, compiling applications, inspecting image internals, and optimizing builds with multi-stage Dockerfiles. Then go deeper with advanced Dockerfile instructions, analyzing image internals, and producing multi-platform builds.

See all skill paths by Ivan Velichko →
Playground on  Kubernetes, Observability

HotROD + Jaeger on K3s

Jaeger's HotROD demo app pre-deployed on a 3-node K3s cluster, wired to a Jaeger v2 all-in-one over OTLP. Click a customer, then read the trace.

Playground on  Kubernetes, Containers, Security

OpenClaw on K3s with agent-sandbox + gVisor

A 3-node K3s cluster with gVisor (runsc), the kubernetes-sigs/agent-sandbox controllers, and the OpenClaw + gVisor example pre-deployed. OpenClaw's Control UI is available as a dedicated tab.

Playground on  Kubernetes, Observability

OpenTelemetry Demo on k3s

A snapshot-backed three-node k3s cluster with the complete OpenTelemetry Demo, including Jaeger and Grafana.

Playground on  Networking, Linux

Dual-Network Router Lab

Five Ubuntu VMs across public and private subnets, joined by a dual-homed router. The private subnet has no direct Internet access.

Playground on  Kubernetes, Security

Kata Containers Demo

A Kubernetes cluster with the Kata Containers runtime preinstalled.

Playground on  Linux, Containers

Docker on Btrfs

Hands-on Docker on Btrfs: experiment with native snapshots, compression, and checksums; inspect setup, grow the filesystem live, and back up/restore images and containers.

See all playgrounds by Ivan Velichko →