Docker

Package an app with everything it needs, and run it the same way everywhere.

About Docker

Docker packages an application together with everything it needs (runtime, libraries, configuration) into an image. Running that image gives a container: an isolated process that behaves the same on a laptop, a test server and production.

Containers start in seconds and use far less overhead than virtual machines.

Why it matters for placements

Containers are the standard way to ship software today, and the base for Kubernetes. Dockerfile and container questions are asked in nearly every DevOps and backend interview.

What you'll learn

5 topics · 15 lessons, each with practice

  • Explain how containers differ from virtual machines
  • Write efficient Dockerfiles with layers and multi-stage builds
  • Run and debug containers, and manage volumes and networks
  • Run multi-container apps with Docker Compose
  • Keep images small and secure

Foundation Foundation

Take Foundation test

Required. Enough to clear online assessments and service-company interviews.

Container Basics

Not started

"It works on my machine" happens because laptops and servers have different OS versions, libraries and settings. Containers package an app with everything it needs, so it runs the same everywhere. These basics are the base for Dockerfiles, Compose and Kubernetes.

Dockerfile

Not started

Typing commands by hand to set up an image is not repeatable or reviewable. A Dockerfile writes the recipe down so anyone, or any pipeline, can build the same image. How you write it decides how fast builds are and how big and safe the image is.

Interview Ready Interview Ready

Take Interview Ready test

Recommended. Enough for technical rounds at good product companies.

Volumes & Networks

Not started

Containers are throwaway by design: remove one and its files are gone, and by default it cannot find other containers by name. Volumes keep data alive and networks let services talk, which every real app with a database needs.

Docker Compose

Not started

A real app is several containers, and starting each with a long docker run command is slow and easy to get wrong. Docker Compose describes the whole stack in one file and starts it with one command, so it is the usual way to run apps locally.

Advanced Advanced

Take Advanced test

Optional. For top product companies. Never counted against your readiness.

Kubernetes Intro

Not started

Compose runs containers on one machine, but production needs many machines, automatic restarts and rolling updates. Kubernetes keeps a cluster in the state you declare, and it is the standard platform behind most modern deployments, so knowing its basic objects is expected in DevOps roles.