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)
Tutorial

How to Build Smaller Container Images: Docker Multi-Stage Builds

Learn how to build smaller, more secure Docker container images using Multi-Stage Builds. This guide explains common sources of image bloat, best practices for slimming down production images, and practical examples for Node.js, Go, Rust, and other application stacks. Start optimizing your containers today!

How to Build Smaller Container Images: Docker Multi-Stage Builds (cover image)
See all tutorials →
Challenge

Intercept and Analyze Encrypted Traffic of a Suspicious Container

Play a security researcher: identify the hosts a black-box container keeps making encrypted HTTPS calls to, route them through a MITM proxy, fake the certificate, and see what the container sends over the network.

Challenge

Redirect a Container's Requests Without Modifying the App

Sometimes you need an app to talk to a different backend, but its configuration is unknown or the destination address is hard-coded. Practice overriding hostname resolution for a single Docker container to redirect its requests without modifying the app or rebuilding its image.

See all challenges →
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 →
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 →