🐳 Docker

Learn Docker for QA automation, test environments, Selenium Grid, containers, images, volumes, networks and CI workflows.

Master Docker from zero to interview level. Learn how to containerize your test environments, run Selenium Grid and Playwright in Docker, and ensure "it works on my machine" becomes "it works everywhere."

What you can learn on this page

  • 🎯 What is Docker? — Docker is like a shipping container for software: a physical container can carry furniture, electronics, or food, and any ship, truck, or crane knows how to load it — Docker containers carry your code AND every dependency it needs, so they run identically ever
  • ⚙️ Docker Installation — Docker Desktop on Windows/Mac is like an automatic-transmission rental car: it bundles the engine, CLI, Compose, and a GUI so you can drive immediately. Installing the Docker Engine directly on Linux is the manual-transmission version — lighter, faster, no ext
  • 📥 Images — Docker commands follow a strict 'docker [object] [action]' pattern — like a library system where you search for books (images), borrow them (pull), read them (run), and return them when done (stop/rm). So why not give every command its own unique name instead
  • 🚀 Containers: docker run — docker run is the moment a blueprint becomes a building: the image is the frozen architectural plan, and 'docker run' pours the concrete, wires the electricity, and hands over the keys — a live container with its own filesystem, network port, and name. So why
  • 🔄 Lifecycle & Debug — A container's life is like a hotel guest's stay: docker ps is the reception desk listing who is currently checked in, stop/start is stepping out and returning to the room, rm is checking out for good — and logs/exec are the room's security camera and the maste
  • 💾 Volumes — A container's filesystem is a whiteboard in a rented meeting room: the moment your booking ends (docker rm), the cleaning crew wipes it clean. A volume is the binder you carry out of the room — it survives every meeting. But wait — if containers are supposed t
  • 🌐 Networks — A Docker network is an office phone directory: containers on the same network call each other by NAME (extension 'db'), instead of memorizing desk coordinates (IP addresses that change on every restart). Why does Docker insist on name-based discovery instead o
  • 📝 Dockerfile — A Dockerfile is a recipe for building your own image — each instruction is a step that gets baked into a layer. Docker Compose is the conductor who starts multiple musicians at once: instead of typing 5 separate 'docker run' commands by hand, one 'docker compo