Discover

Tutorials, challenges, courses, skill paths, playgrounds, and more — search the whole library in one place.

Tutorial

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.

How Container Filesystem Works: Building a Docker-like Container From Scratch (cover image)
See all tutorials →
See all challenges →
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 →
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.

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.

See all skill paths →
See all shell gyms →
Roadmap
Work-in-Progress

Docker The Hands-On Way

Master Docker by solving practical problems. The learning path includes: Must-Have and Digging Deeper routes, theoretical materials where it helps to learn faster, and cross-cutting topics such as security, debugging, and observability.

  • 1 Course
  • 15 Tutorials
  • 7 Skill Paths
  • 110 Challenges
Docker The Hands-On Way (cover image)
See all roadmaps →
Playground on  Containers

Docker

A Linux server with Docker engine pre-installed.

Playground on  Containers

Podman

A Linux server with Podman, a daemonless Docker alternative, pre-installed.

Playground on  Containers

contaiNERD CTL

nerdctl, containerd, and BuildKit packed together for true nerds.

Playground on  Containers

Incus

Incus is an actively improved community fork of LXD. Do you need systemd inside your containers? Give Incus a try!

See all playgrounds →