Docker for Beginners: Build, Run and Ship Containers
Learn Docker from zero: containers, images, Dockerfiles, volumes, networking and Compose, with hands-on labs and projects you can ship.
What You'll Learn
Understanding Why Docker Exists and What It Solves
It is 6:40 PM on a Friday. A four-person team in Pune ships the new checkout service. It passed every test on every laptop.
Understanding the Docker Mental Model
Stage 1 of 4: Run Docker Every Docker command makes sense once you hold one picture in your head: you write a recipe, you build it into an image, and...
Installing Docker and Running Your First Container
Within ten minutes you will have Docker installed and a real web server running in a container. The goal here is a quick win. The details come later.
Managing Containers Day to Day
You will spend most of your Docker life doing six things: start containers, list them, read their logs, get inside them, stop them and remove them.
Working with Docker Images
Images are what you build, share and download, so understanding them makes everything else easier.
Building Your Own Images with a Dockerfile
Stage 2 of 4: Build images This is the skill that turns you from a Docker user into a Docker author.
Skills You'll Master
Curriculum Index12 topics
Understanding Why Docker Exists and What It Solves
It is 6:40 PM on a Friday. A four-person team in Pune ships the new checkout service.
Understanding the Docker Mental Model
Stage 1 of 4: Run Docker Every Docker command makes sense once you hold one picture in your head: you write a recipe...
Installing Docker and Running Your First Container
Within ten minutes you will have Docker installed and a real web server running in a container.
Managing Containers Day to Day
You will spend most of your Docker life doing six things: start containers, list them, read their logs, get inside...
Working with Docker Images
Images are what you build, share and download, so understanding them makes everything else easier.
Building Your Own Images with a Dockerfile
Stage 2 of 4: Build images This is the skill that turns you from a Docker user into a Docker author.
Persisting Data with Docker Volumes
Stage 3 of 4: Connect real applications Run a database in a container, add a month of orders, then remove the container...
Connecting Containers with Docker Networking
A web app container and a database container are useless if they cannot talk.
Running Multi-Container Apps with Docker Compose
Real apps are rarely one container. A typical web app needs the app, a database and a cache.
Troubleshooting Docker Like a Pro
Everyone's containers break. What separates a beginner from someone useful on an incident is a calm, repeatable...
Shipping Production-Ready Docker Images
Stage 4 of 4: Ship it An image that works on your laptop is a draft.
Building Hands-On Projects and Reviewing What You Learned
Reading about Docker teaches you words. Building with it teaches you the tool.
Career Impact
Roles that use the skills in this module.
DevOps Engineer
Site Reliability Engineer
Platform Engineer
Release Engineer
Next Modules
Related Guides
Practice on the Coding Sheet
Not a software engineer sheet. Every problem comes from real DevOps, SRE, Platform and Cloud interviews, from your first script to a system you build yourself.
Open the Coding SheetFrequently Asked Questions
An image is a read-only template that holds your app and everything it needs. A container is a running instance of that image. You can start many containers from one image, the same way you can bake many cakes from one recipe.
You need only basic terminal skills: moving between folders, listing files and running commands. Most containers run Linux inside, so you will pick up Linux habits as you go. Docker Desktop makes this work on Windows and macOS too.
No. A virtual machine runs a full guest operating system on virtual hardware. A container shares the host kernel and isolates only the app's processes, so it usually starts faster and uses fewer resources.
Use docker compose with a space. It is the current Compose V2 plugin built into Docker. The older hyphenated docker-compose command is the legacy standalone tool.